2010-12-14 9 views
7

mavenがjarをビルドするとき、META-INF /// pom.xmlにpom.xmlを配置します。 これはアーティファクトの元のポームです。 変数は展開も継承もされておらず、継承された依存関係もリストされていません。 これにより、本番用jarの情報がビルド環境に依存します。mavenによって構築されたjarファイル内のpom.xmlを制御する方法は?

jarの内部のポームはどのように設定できますか? ベストは、maven-jar-pluginの設定です。

答えて

6

親に属するすべての情報を取得したかったので、同様の要件がありましたpom.xml。言い換えれば、私は、 "raw" pom.xmlに加えて、有効なpomがJAR内に生成されたいと思っていました。

JARの生成中にhelp:effective-pomプラグインとゴールを使用し、pom.xmlと入力することを考えています。これは、この構成で行われます。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-help-plugin</artifactId> 
    <version>2.1.1</version> 
    <executions> 
     <execution> 
      <phase>generate-resources</phase> 
      <goals> 
       <goal>effective-pom</goal> 
      </goals> 
      <configuration> 
       <output>${project.build.outputDirectory}/META-INF/maven/${project.groupId}/${project.artifactId}/effective-pom.xml</output> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

source

+0

をこれは私が本当に:-) だけ私は簡単に見ることができない生のPOM(を取り除くしたいと思いたかったものですリンクされた質問)やそれをややトリミングします。 – openCage

+2

もっと多くのリンクされた質問と回答を読む私は、あなたがmaven-jar-pluginのstdpomを抑制できることがわかった。 false と有効なpomの名前をpomとする。 – openCage

関連する問題