我正在使用 Proclipsing(在 Eclipse 中处理),但是当我尝试打开端口时出现错误(打印序列列表工作正常)。我有一种感觉某种 native 库未连接,但我对如何在 Eclipse 中这样做(以及它链接到的位置)感到困惑。
这是我的代码:
import processing.core.PApplet;
import processing.serial.Serial;
public class visualization extends PApplet {
public Serial usb = null;
public void setup() {
println(Serial.list());
println(Serial.list()[5]);
usb = new Serial(this, Serial.list()[5], 115200);
}
public void draw() {
}
}
它抛出的错误是:
Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: jssc.SerialNativeInterface.openPort(Ljava/lang/String;Z)J
at jssc.SerialNativeInterface.openPort(Native Method)
at jssc.SerialPort.openPort(SerialPort.java:158)
at processing.serial.Serial.<init>(Unknown Source)
at processing.serial.Serial.<init>(Unknown Source)
at bioauthvisualization3.BioauthVisualization3.setup(BioauthVisualization3.java:15)
at processing.core.PApplet.handleDraw(PApplet.java:2361)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240)
at processing.core.PApplet.run(PApplet.java:2256)
at java.lang.Thread.run(Thread.java:745)
最佳答案
我在设置 IntelliJ IDEA 进行处理开发时遇到了同样的问题。但我想你可以在 Proclipsing 中应用相同的方法。对我有用的解决方案有三个。
- 我创建了一个全局库,其中包含处理库和串行库。在 OS X 中,所需的 jar 文件可以在目录
/Applications/Processing.app/Contents/Java/
和/Applications/Processing.app/Contents/Java/modes/libraries/中找到序列号/库/
。我添加了以下库:core.jar
、serial.jar
和jssc.jar
。 - 接下来,我必须将全局库添加到我的模块依赖项中。
- 最后一步是将 native 库的路径添加到 appletviewer 的 VM 选项中:
-Djava.library.path="/Applications/Processing.app/Contents/Java/modes/java/libraries/serial/library/macosx"
我的猜测是 Proclipsing 会为您完成前两个步骤,但您必须手动将 native 库添加到虚拟机选项中,因为这些取决于您正在使用的系统。希望有帮助。
我从 this forum entry 导出了步骤 3 的解决方案.
关于java - JSSC 串行接口(interface)上的 UnsatsifiedLinkError(处理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24942045/