我有一个java项目。我想将它导出到runnable jar文件。
我用eclipse来做。
但是当我运行创建的jar文件时,我收到Error ~ file not found : config\file.xml
(系统找不到指定的路径)。
如何导出文件夹以在任何位置运行成功jar文件?
答案 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文件的目录中