Java 11 и Jacorb. ClassNotFoundException: javax.rmi.CORBA.Stub - PullRequest
1 голос
/ 27 мая 2019

Я пытаюсь выполнить свое приложение java 11 (openjdk) с помощью jacorb 3.9.Приложение запускается, но происходит сбой с жалобами на отсутствие:

javax.rmi.CORBA.Stub

Я включил все библиотеки jacorb в CLASSPATH

set CLASSPATH = ${JACORB_PATH}/jacorb.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/jacorb-3.9.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/jacorb-omgapi.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/slf4j-api.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/slf4j-jdk14-1.7.14.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/jacorb-services.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/picocontainer.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/wrapper.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/antlr.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/idl.jar:${CLASSPATH}

При выполнении я получаю следующее:

java.lang.reflect.InvocationTargetException
...
Caused by: java.lang.ClassNotFoundException: javax.rmi.CORBA.Stub
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

Я также пытался настроить JDK_JAVA_OPTIONS с помощью:

--module-path ${JACORB_PATH} --add-modules java.corba 
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

Но жалуется на "Две версииmodule slf4j.jdk14 found "

Команда для выполнения программы:

java -classpath $CLASSPATH myprog.MYPROG 

Первоначально приложение было написано для Java 8 и работало нормально с jacorb, передавая следующие параметры команде java:

-Djava.endorsed.dirs=JACORB_PATH
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

Приложение вообще не использует rmi.Это «классический» клиент CORBA.Сбой при попытке разрешить начальную ссылку службы имен

1 Ответ

2 голосов
/ 28 мая 2019

Похоже, что проблема была поднята в проекте список рассылки .Обходной путь должен добавить к пути к классам рядом с jacorb-3.8.jar и jar sfl4j эти 2:

  • jacorb-omgapi-3.8.jar - из дистрибутива JacORB
  • jboss-rmi-api_1.0_spec-1.0.6.Final.jar - из https://github.com/jboss/jboss-rmi-api_spec. Эта библиотека предоставляет API RMI Java, который первоначально использовался JacORB из JRE.( Maven )
...