Пожалуйста, не говорите, что я не должен использовать GJC, я понимаю, что это не так.GJC - внешняя баня
Вопрос в том, могу ли я связать скомпилированную библиотеку так же, как если бы вы использовали обычную банку?
// this works and links to the jarfiles.jar
java -cp lib/jarfiles.jar:classes Main
Но я поворачиваю баночку в машинный код, как это:
gcj -shared -fPIC -Wl,-Bsymbolic jarfiles.jar -o jarfiles.so
И попробуйте запустить его вызова .so файл:
java -cp lib/jarfiles.so:classes Main
дует не в состоянии найти ожидаемые классы.
Exception in thread "main" java.lang.NoClassDefFoundError: com/netxpect/FirstFromJar
at Main.<clinit>(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.netxpect.FirstFromJar
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
Не должно ли это работать? Что я делаю не так? Спасибо.
Я был бы очень удивлен/поражен, если это работает. Общие библиотеки обычно добавляются в java.library.path или LD_LIBRARY_PATH, но я не знаю, как вы их используете с gjc. –