1

我有一个 java 项目。我想将它导出到可运行的 jar 文件。

我使用eclipse来做到这一点。

但是当我运行创建的 jar 文件时,我收到Error ~ file not found : config\file.xml了(系统找不到指定的路径)。

如何导出文件夹以在任何地方运行成功的 jar 文件?

4

4 回答 4

2

如果您不需要在 jar 之外配置配置,只需将其包含在其中并使用 getClass().getClassLoader().getResourceAsStream("config.xml") 之类的东西(如果它位于“root”级别) " 装在罐子里

于 2012-12-05T18:42:07.477 回答
2

听起来您的应用程序正在使用文件系统中的相对路径查找配置文件。为了使 jar 完全自给自足,必须修改代码以在类路径中查找配置文件,并且该文件必须包含在 jar 中。

为此,必须将打开文件的代码更改为使用 Class#getResourceAsStream()而不是使用File对象。

于 2012-12-05T18:17:46.923 回答
0

如果您的项目目录中有一个配置文件夹,并且有一个要从中读取的文件,您也必须将此文件夹复制到您的 jar 文件的目录中

于 2012-12-05T18:21:12.817 回答
0

我建议您使用 ant 或其他构建系统。这是一个关于 ant 的简短教程:

http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html

在 ant 构建脚本中使用 xml 创建 jar 文件非常容易。我已经做过很多次了:

<target name="jar" depends="compile">
    <mkdir dir="${jar.dir}"/>
    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
        <manifest>
            <attribute name="Main-Class" value="${main-class}"/>
        </manifest>
    </jar>
</target>

其他人可能会建议maven之类的,但实际上它们都是不错的选择。从 Eclipse 等 IDE 导出确实不是一个可行的长期解决方案。

于 2012-12-05T18:15:42.260 回答