4

我有一个使用串口的项目,它需要两个文件才能运行,win32.dll 文件(位于 java 运行时环境 bin 文件夹中)和 javax.comm.properties 文件(位于 java 运行时环境中lib 文件夹)。当我从 eclipse 运行项目时,它可以工作,但是当我尝试构建一个 jar 文件进行分发时,它就不起作用了。我怀疑这是因为 dll 和属性文件不包含在 jar 中。我如何指定他们需要在那里?

4

4 回答 4

3

您通常不会将 dll 和属性文件放在 jar 中。需要将属性文件以及其他 jar 文件添加到类路径中。jar 文件有一个清单文件,它定义了使用的类路径。你不能用 eclipse 编辑它。您需要定义一个 ant build.xml 文件并执行以下操作:

<jar jarfile="${dist}/MyJar.jar" basedir="${build}">
  <manifest>
    <attribute name="Main-Class" value="MyClass"/>
    <attribute name="Class-Path" value="."/>
  </manifest>
</jar>

然后将属性文件放在与jar相同的文件夹中。您可以通过右键单击 build.xml 并选择“Run as Ant target”来运行 ant 目标。

如果我没记错的话,将dll文件放在jre的bin目录中就可以了。

于 2009-01-22T21:44:49.763 回答
2

我认为 javax.comm.properties 只需要在你的类路径上。您可以将其添加到您交付的罐子的顶层。

InputStream = MainClass.class.getResourceAsStream("javax.comm.properties"); if (is == null) {属性缺失....}

我认为 win32.dll 只需要在 %PATH%(windows) 或 $LD_LIBRARY_PATH(unix) 上......

于 2009-01-22T20:26:09.067 回答
0

jar 文件只是一个普通的 zip 文件。如果要向其中添加文件,只需使用诸如 winzip 之类的工具即可。

于 2009-01-22T20:15:05.420 回答
0

使用 Ant,您可以将所有想要的东西打包到您的 Jar 中。所以让 Ant 创建你的 Jar,而不是 Eclipse :)

于 2009-01-22T21:07:23.960 回答