Bitte gehen Sie nicht ins Schwärmen, warum ich GJC nicht verwenden sollte, ich verstehe die Nachteile davon.GJC - ein externes Gefäß
Die Frage ist, kann ich eine kompilierte Bibliothek wie ein normales Glas verbinden?
// this works and links to the jarfiles.jar
java -cp lib/jarfiles.jar:classes Main
Aber ist ich das Glas zu nativem Code wie folgt drehen:
gcj -shared -fPIC -Wl,-Bsymbolic jarfiles.jar -o jarfiles.so
und versuchen, es ruft die .so-Datei auszuführen:
java -cp lib/jarfiles.so:classes Main
Es weht in der Lage, nicht zu finde die erwarteten Klassen.
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)
Sollte das nicht funktionieren? Was mache ich falsch? Vielen Dank.
ich wäre sehr überrascht sein/beeindruckt, wenn dies funktioniert. Gemeinsame Bibliotheken werden normalerweise zu java.library.path oder LD_LIBRARY_PATH hinzugefügt, aber ich weiß nicht, wie Sie sie mit gjc verwenden. –