Runnable JAR文件导出

时间:2012-12-05 18:10:27

标签: java file export

我有一个java项目。我想将它导出到runnable jar文件。

我用eclipse来做。

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

如何导出文件夹以在任何位置运行成功jar文件?

4 个答案:

答案 0 :(得分:2)

如果您不需要在jar之外配置您的配置,只需将其包含在那里并使用getClass()。getClassLoader()。getResourceAsStream(“config.xml”)访问它,如果它位于该级别jar中的“root”包

答案 1 :(得分:1)

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

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

答案 2 :(得分: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导出确实不是一个可行的长期解决方案。

答案 3 :(得分:0)

如果你的项目目录中有一个config-folder,并且你想要读取一个文件,你必须将这个文件夹复制到jar文件的目录中