私はJavaプロジェクトを持っています。実行可能なjarファイルにエクスポートしたい。
私は日食を使用してそれを行います。
しかし、作成したjarファイルを実行すると、受け取りますError ~ file not found : config\file.xml
(システムは指定されたパスを見つけることができません)。
フォルダーをエクスポートして、どこでも成功のjarファイルを実行するにはどうすればよいですか?
あなたのアプリケーションは、ファイル システム内の相対パスを使用して構成ファイルを探しているようです。jar を完全に自己完結型にするには、クラスパスで構成ファイルを探すようにコードを変更し、そのファイルを jar に含める必要があります。
これを行うには、ファイルを開くコード を、オブジェクトを使用するClass#getResourceAsStream()
代わりに使用するように変更する必要がありFile
ます。
構成をjarの外部で構成する必要がない場合は、そこに含めて、「ルート」のレベルにある場合は getClass().getClassLoader().getResourceAsStream("config.xml") などでアクセスします" jar のパッケージ
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 からエクスポートすることは、実際には実行可能な長期的な解決策ではありません。
プロジェクト ディレクトリに config-folder があり、そこから読み取りたいファイルがある場合は、このフォルダーも jar ファイルのディレクトリにコピーする必要があります。