私のアプリケーションからリソースファイルを読み込もうとしましたが、動作しません。Java getリソースが機能しない
コード:
ファイル:/ C:!の/Users/username/Repo/run/Application.jar /test.xsd Iは、JARファイルを実行し
String filename = getClass().getClassLoader().getResource("test.xsd").getFile(); System.out.println(filename); File file = new File(filename); System.out.println(file.exists());
出力
偽
それは私がジャーファイルを実行すると、私はIntelliJのからアプリケーションを実行したときに動作しますが、ありません。 jarファイルを7-zipで開くと、test.xsdはルートフォルダにあります。 jarファイルを実行するときにコードが機能しないのはなぜですか?
classesフォルダの中に「test.xsd」に移動してください。ご覧のように、クラスパス内のファイルを検索するgetClassLoader()を呼び出します。 –
jarファイルの内容を調べることができますか?ファイルがjarファイルにパッケージ化されています –
IntelliJがルートフォルダをクラスパスとして追加している可能性があります –