通过 WebStart 运行时 Java 7 update 55 JacORB 错误

标签 java java-web-start classnotfoundexception jacorb

自从更新到 Java 7 update 55 后,我无法运行我的 WebStart java 应用程序。

此应用程序在通过 WebStart 启动时在 Java 7 update 51 下运行良好。

在 WebStart 外部启动时,它也适用于更新 55。

对进一步调查点有什么建议吗?

org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation org.jacorb.orb.ORBSingleton  vmcid: 0x0  minor code: 0  completed: No
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(Unknown Source)
    at org.omg.CORBA.ORB.init(Unknown Source)
    at org.jacorb.orb.CDRInputStream.<init>(CDRInputStream.java:186)
    at org.jacorb.orb.etf.ProfileBase.initFromProfileData(ProfileBase.java:252)
    at org.jacorb.orb.etf.ProfileBase.demarshal(ProfileBase.java:172)
    at org.jacorb.orb.etf.FactoriesBase.demarshal_profile(FactoriesBase.java:124)
    at org.jacorb.orb.ParsedIOR.decode(ParsedIOR.java:235)
    at org.jacorb.orb.ParsedIOR.parse_stringified_ior(ParsedIOR.java:460)
    at org.jacorb.orb.ParsedIOR.parse(ParsedIOR.java:375)
    at org.jacorb.orb.ParsedIOR.<init>(ParsedIOR.java:192)
    at org.jacorb.orb.ORB.string_to_object(ORB.java:1824)

Caused by: java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    ... 56 more

编辑 2014 年 6 月 12 日

看起来这个问题已在此处修复:

https://bugs.openjdk.java.net/browse/JDK-8042789

这有望包含在 7 月 15 日的下一个 CPU 中

看起来导致此问题的更改已恢复,因此它现在再次使用当前线程类加载器。

http://hg.openjdk.java.net/jdk8u/jdk8u-dev/corba/rev/009fc3f785a9

最佳答案

我为此向 Java 打开了一个错误(评论 ID:JI-9011898)。问题是在 org.omg.CORBA.ORB.init() 方法中系统类加载器被强制使用,而在过去使用当前线程的类加载器。

更新:一个有效的解决方法是复制/jre/lib/endorsed 文件夹中的 JacORB jar,这样这些类就可以在 webstart 类加载器之外加载。 参见 Java WebStart and endorsed directoriesJava 7u55 Eclipse System Fragment Classloader了解详情。

关于通过 WebStart 运行时 Java 7 update 55 JacORB 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23217131/

相关文章:

java.lang.ClassNotFoundException : org. apache.xmlbeans.XmlOptions

Java 游程长度解码(扩展压缩字符串)

java - 以编程方式在android Edittext中获取提示文本值

java - 如何从我的代码在 textView 和 editText 中添加样式?

java - 从 Java 的 Calendar 类中获取月份

installation - 如何创建一个易于升级管理的 Spring Web App Installer?

Java 网络启动 : howto share certificate with users

Java Web Start ExtensionInstallerService - 如何获取应用程序中的安装路径?

java - 无法将 IntelliJ IDEA 程序编译为可运行的 JAR

eclipse - java.lang.ClassNotFoundException : HttpServletRequest 异常