2

在我的项目中,我有一个用于管理串行通信的 rxtx 库。当我在 netbeans ide 中运行应用程序时,我没有问题。我已将 rxtx 文件放在我的 java 文件夹中,并在项目库中添加了路径。当我为项目构建 jar 文件时,问题就开始了。它创建 jar 文件并在 /lib 文件夹中添加 costum 库的文件夹。但是我无法通过双击来运行 jar 文件。当我从命令行运行它时,我得到:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver

我应该怎么做才能让程序能够在 /lib 文件夹中找到 rxtx 库?

4

3 回答 3

0

当您从命令行执行程序时,您需要指定java.library.path以确保 JVM 可以访问您的本机库。

在不知道您实际如何运行程序的情况下,我将猜测命令应该是什么样子:

java -cp yourjar.jar -Djava.library.path=/yourProjectPath/lib gnu.io.RXTXCommDriver
于 2013-08-14T21:40:07.363 回答
0

您可以将所需的库提取到 jar 文件中(当您不想使用命令行时)。查看站点以在 netbeans 上实现这一点。

于 2013-08-14T21:43:37.697 回答
0

您必须:

  1. 从命令行运行 java 时,提供包含 /lib 的类路径。使用 -cp 选项来执行此操作。
  2. 正确创建捆绑 /lib 的可执行 jar。我使用 maven 和这个插件来创建它:https ://code.google.com/p/onejar-maven-plugin/
于 2013-08-14T21:32:07.257 回答