1. ホーム

[解決済み】mavenのpom.xmlからバージョンをコードで取得する

2022-03-31 01:28:19

質問

mavenのpom.xmlからバージョン番号をコードで、つまりプログラムで取得する最も簡単な方法は何ですか?

どのように解決するのですか?

Javaを使用していると仮定すれば、可能です。

  1. を作成します。 .properties ファイルを、(最も一般的な)あなたの src/main/resources ディレクトリを探すように指示します(ただし、ステップ4では他の場所を探すように指示します)。

  2. のプロパティの値を設定します。 .properties ファイルで、プロジェクトのバージョンに関する標準的な Maven プロパティを使用します。

    foo.bar=${project.version}
    
    
  3. Javaコードで、プロパティファイルの値をクラスパスのリソースとして読み込みます(この方法については、ググればたくさんのサンプルがありますが 以下はその例です。 ).

  4. Mavenで、リソースのフィルタリングを有効にします。これにより、Maven はそのファイルを出力クラスにコピーし、そのコピーの間にリソースを翻訳し、プロパティを解釈するようになります。 いくつかの情報を見ることができます。 ここで が、ほとんどの場合、pomでこれを行うだけです。

    <build>
      <resources>
        <resource>
          <directory>src/main/resources</directory>
          <filtering>true</filtering>
        </resource>
      </resources>   
    </build>
    
    

のような他の標準的なプロパティにアクセスすることもできます。 project.name , project.description あるいは、pomに記述した任意のプロパティでも構いません。 <properties> などがあります。 リソースのフィルタリングとMavenプロファイルを組み合わせることで、ビルド時にビルドの動作を可変にすることができます。 実行時にプロファイルを -PmyProfile この場合、ビルド時に表示されるプロパティを有効にすることができます。