4

我将comm.jar库添加到我的中.jar,我得到了javax.comm.NoSuchPortException.

这个错误是因为我没有添加javax.comm.propertieswin32com.dll我的罐子里吗?如何在清单中添加此文件?

4

4 回答 4

3

Java 不支持 Jars 中的 Jars。确保javax.comm包在应用程序的运行时类路径上的正确方法是添加一个清单,该清单提供到依赖 Jar 的相对路径,并确保 Jar 位于正确的位置。有关详细信息,请参阅Java 教程中的使用清单文件:基础知识,尤其是向 JAR 文件的类路径中添加类。

还有其他方法可用于小程序和应用程序。使用 Java Web Start 启动。

于 2011-08-17T09:36:13.523 回答
2

@Gogoo 的回答说要将内容复制到您的 JVM 安装目录中。

它应该可以工作,但通常不是一个好主意:

  • 您以这种方式安装的东西将由您使用该安装运行的所有应用程序共享。根据它是什么,它可能会干扰其他应用程序。

  • 每次更新 JVM 时,都必须记住将这些文件复制到新的安装目录中。

IMO,一个更好的主意是将这些文件放在一个单独的目录树中,并编写一个包装脚本来启动您的应用程序,其中包含类路径和库路径上的文件。和/或查看@Andrew Thompson 的回答。

于 2011-08-17T09:54:02.210 回答
1

试试FatJar

Fat Jar Eclipse 插件是一种部署工具,可将 Eclipse java 项目部署到一个可执行 jar 中。

它将条目“Build Fat-JAR”添加到 Export-Wizard。除了 eclipse 标准 jar-exporter 引用的类和 jar 都包含在“Fat-Jar”中,因此生成的 jar 包含所有需要的类,可以直接使用“java -jar”执行,无需设置类路径,无需部署额外的 jar。

于 2011-08-17T10:06:05.043 回答
0

copy comm.jar \jdk1.6\jre\lib\ext
copy win32com.dll \jdk1.6\bin
copy javax.comm.properties \jdk1.6\jre\lib

并通过命令行启动 your.jar:

java -jar your.jar

于 2011-08-17T09:41:57.247 回答