0

我在包含 JNI 库的 Java 应用程序中使用 RXTX。我将 .jni 文件放在/Libray/Java/Extensions. 当我通过通常的方式手动启动我的应用程序时,java -jar /path/to/app.jar一切正常。但是,当我尝试通过 Netbeans 或 Ant 启动它时,它失败了

 [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 移动到其他地方并使用 .jni 将 JVM 指向它时的类似行为-Djava.library.path。它手动工作,但在 Ant 中失败。

我正在使用运行 Mac OS X 10.6.4 的 Java 1.6 64Bit、Ant 1.7.1、RXTX 2.1-7r2(稳定版)

4

1 回答 1

0

你的ant java任务<jvmarg value="-Djava.library.path=location-of-your-native-library"/>设置了吗?

于 2010-10-05T11:39:15.260 回答