如何将属性文件附加到jar?

时间:2009-01-22 20:00:55

标签: java jar ant

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

4 个答案:

答案 0 :(得分: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目录中就可以了。

答案 1 :(得分:2)

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

InputStream is = MainClass.class.getResourceAsStream(“javax.comm.properties”); if(is == null){property missing ....}

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

答案 2 :(得分:0)

jar文件只是一个普通的zip文件。如果要向其添加文件,只需使用winzip等工具。

答案 3 :(得分:0)

使用Ant,您可以将所有内容装入您想要的Jar中。所以让Ant创建你的Jar,而不是Eclipse:)