我正在将 java8 项目迁移到 java17,该项目正在使用使用 CORBA 的客户端定制的库。 (客户端尚未准备好迁移到 java17)。我正在使用 Glassfish-corba-orb-4.2.1.jar。我遇到以下错误。
java.io.IOException:org.omg.CORBA.INITIALIZE:无法实例化默认 ORB 实现 com.sun.corba.ee.impl.orb.ORBSingleton
使用 eclipse,我也在 VM 参数中添加了下面的内容,但没有帮助。 -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.impl.orb.ORBSingleton
在我们的 eclipse rcp 产品中使用了第三方插件,它们也有完全相同的问题。
解决方案:
我添加了一个带有以下 glassfish corba orb jar 的插件,将它们添加到类路径并导出所有包:
我用 Maven 得到了罐子:
<!-- https://mvnrepository.com/artifact/org.glassfish.corba/glassfish-corba-orb -->
<dependency>
<groupId>org.glassfish.corba</groupId>
<artifactId>glassfish-corba-orb</artifactId>
<version>4.2.5</version>
</dependency>