私はproducts.jarファイルを持っています。その中には一つのクラスcom.ClassA
があります。プロジェクトの構造は、Javaのビルド・パスにあるClassA.java
は、次のパスでinputs.txt
ファイルにアクセスしているし、それがうまくJava - クラスパスの問題
private static final String PROPERTIES_FILE_PATH = "test/dependencies/inputs.txt";
test
パッケージを働いている、日食インサイド
products
|--test
|--com
|--ClassA.java
|--dependencies
|---inputs.txt
のようなものです - >ソース
しかし、このプロジェクトをproducts.jar
としてエクスポートすると、jarファイルにはtest
というディレクトリが存在しません。 jarファイルのルートには、com
とdependencies
の2つのディレクトリがあります。だから私は、コマンドラインから(jarファイルに存在する)ClassA
を実行しようとしていたとき、私は次の例外を取得しています:
JUnit version 4.8.2
java.io.FileNotFoundException: test/dependencies/inputs.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:137)
at java.io.FileInputStream.<init>(FileInputStream.java:96)
だからtest
dirはjarファイルにエクスポートされていないことを発見した後、私は変更私のClassA.javaのファイルのパスはdependencies/inputs.txt
になります。それは日食では動作しませんでしたが、jarファイルがクラスパスにあり、dependencies
フォルダがjarファイルのルートにあるので、Javaランチャがdependencies
フォルダを見つけてinputs.txt
というファイルを見つけることができるので、
しかし残念ながら、それも動作していません。