0
我在包含JNI庫的Java應用程序中使用RXTX。我把.jni文件放在/Libray/Java/Extensions
。當我通過通常的java -jar /path/to/app.jar
手動啓動我的應用程序時,一切正常。然而,當我嘗試通過Netbeans的或Ant來啓動它失敗當通過Ant啓動時,Java應用程序以不同的方式加載JNI
[java] java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: no suitable image found. Did find: /Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper thrown while loading gnu.io.RXTXCommDriver [java] Exception in thread "main" java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib: no suitable image found. Did find: /Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper [java] at java.lang.ClassLoader$NativeLibrary.load(Native Method) [java] at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1823) [java] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738) [java] at java.lang.Runtime.loadLibrary0(Runtime.java:823) [java] at java.lang.System.loadLibrary(System.java:1045) [java] at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
模擬行爲,當我移動.jni其他地方和JVM點它使用-Djava.library.path
來。它可以手動工作,但在Ant中失敗。
我使用Java 1.6的64位時,Ant 1.7.1,RXTX 2.1-7r2(穩定)運行Mac OS X 10.6.4
感謝您的回答。是的,我在我的build.xml中嘗試了這一行。這就是我想要描述爲異族行爲。它失敗了,我發佈了同樣的錯誤。 – BlueDog 2010-10-05 15:16:56