大佬教程收集整理的这篇文章主要介绍了Java 7 update 25使我们的Java Web Start应用程序失败且没有日志记录,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
最终问题解决了。该问题是由于MANIFEST.MF主文件中包含的jar文件与launch.jnlp中提到的jar文件之间的不匹配引起的。
显然,现在要求所有将要使用的jar文件也必须存在于launch.jnlp文件中。
(过去决定手动将此文件保存在接收器中,显然,该文件并不总是以适当的方式进行维护。现在,此过程是自动化的,因此问题不再发生在我们身上。)
自Oracle启动Java 7 update 25以来,@R_851_9616@程序不再起作用。
最初,我们收到了一些有关Manifest文件中缺少代码库和安全性标签的警告,我们已对其进行了修复。
我们现在遇到的问题是,在控制台中,我们仅获得以下几行:
#### Java Web Start Error:
#### null
我们还会收到带有错误消息的应用程序错误对话框: 无法启动应用程序 。
详细信息按钮在例外中提供以下详细信息:
java.lang.NullPointerException
at com.sun.jnlp.JNLPClassLoader.getPermissions(Unknown sourcE)
at java.security.SecureClassLoader.getProtectionDomain(SecureClassLoader.java:206)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doprivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown sourcE)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at desktop.DesktopProxySELEctor.<init>(DesktopProxySELEctor.java:24) <- code smippet below
at desktop.Main.main(Main.java:139) <- code smippet below
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegaTingMethodAccessorImpl.invoke(DelegaTingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.javaws.Launcher.executeApplication(Unknown sourcE)
at com.sun.javaws.Launcher.executeMainClass(Unknown sourcE)
at com.sun.javaws.Launcher.doLaunchApp(Unknown sourcE)
at com.sun.javaws.Launcher.run(Unknown sourcE)
at java.lang.Thread.run(Thread.java:724)
相关代码部分为:
Desktop.Main.main
/**
* Main method,starts the application
*/
public static void main(String[] args) {
System.setProperty("java.net.useSystemProxies","true");
//Logger.getLogger("httpclient.wire.header.level").setLevel(Level.FInesT);
//Logger.getLogger("org.apache.commons.httpclient.level").setLevel(Level.FInesT);
java.net.ProxySELEctor.setDefault(new DesktopProxySELEctor(java.net.ProxySELEctor.getDefault()));
(最后一行是行号139)
desktop.DesktopProxySELEctor:
public class DesktopProxySELEctor extends ProxySELEctor {
public DesktopProxySELEctor(ProxySELEctor defaultSELEctor) {
URI httpsUri = new CentralConfigurationservice().getCentralLOCATIOn();
(最后一行是发生异常的第24行)
有人可以给我们一些线索提示(或更好的解决方案)来说明由此“次要”更新引起的Java新行为。
当我们使用java -jar Desktop.jar从cli直接运行该应用程序时,该应用程序将运行文件,因此该问题显然与Java Web
Start中的更改有关。
@trashgod:该错误显然与7u25中的Permissions更改有关,因为NullPointerException发生在com.sun.jnlp.JNLPClassLoader.getPermissions中。
只是为了解释我的想法(我是Wouter的同事):desktop.Main实例化一个desktop.DesktopProxySELEctor(我们的类),desktop.DesktopProxySELEctor实例化desktop.configuration.CentralConfigurationservice
desktop.configuration.CentralConfigurationservice实例化一个java.net.URI 。
在实例化CentralConfigurationservice的DesktopProxySELEctor初始化的第一行,由JNLPClassLoader调用的getPermissions方法抛出NullPointerException。因此,通过java
webstart加载CentralConfigurationservice类并获得该类的权限时出了点问题。可能与URI类实例化(这需要额外的权限(已建立到远程uri的连接))有关吗?
以上是大佬教程为你收集整理的Java 7 update 25使我们的Java Web Start应用程序失败且没有日志记录全部内容,希望文章能够帮你解决Java 7 update 25使我们的Java Web Start应用程序失败且没有日志记录所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。