こんにちは、みんな!!
これがばかげた質問である場合は申し訳ありませんが、私はMavenを初めて使用し、行き詰まりに陥っています!
- MyTest.properties、MoreMyTest.properties を使用するプロジェクトがあります。
- Maven Shade プラグインを使用して、このプロジェクトを .jar ファイルにビルドしましたが、問題なく動作しています。残念ながら、shade プラグインは MyTest.properties を jar ファイル内にパッケージ化しています。
次に、jar を実行しようとすると、このエラーが発生します。
java.io.FileNotFoundException: ファイルが見つかりません: properties/MyTest.properties at file:\C:\Dev\test.jar!\properties\MyTest.properties at ...
IDE 内と、デプロイ時にコマンドラインから jar を実行することの両方で、自分のプロパティにアクセスしたいと考えています。プロパティ ファイルを、jar ファイルの場所の上の相対フォルダー ../lib/ に配置することを考えていました。
私のプログラム内では、次のようにプロパティにアクセスしたいと考えています:
File testProperties = new File(
ClassLoader.getSystemResource("properties/MyTest.properties").getFile()
);
これをPOM.xmlに追加してみました
<transformer
implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>*.properties</resource>
<file>../*properties</file>
</transformer>
(上記のコード スニペットでフォーマットが乱れて申し訳ありません!)
しかし、それは機能していません。これについて何か助けていただければ幸いです。コードは非常に大きいため、すべてのコードを投稿したわけではありませんが、私が達成しようとしていることを理解していただければ幸いです。
どうもありがとう、ポール