2010-10-04 17 views
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

回答

0

貴螞蟻java的任務有<jvmarg value="-Djava.library.path=location-of-your-native-library"/>集?

+0

感謝您的回答。是的,我在我的build.xml中嘗試了這一行。這就是我想要描述爲異族行爲。它失敗了,我發佈了同樣的錯誤。 – BlueDog 2010-10-05 15:16:56

相關問題