2013-01-04 5 views
6

jarファイルにタイムスタンプを追加すると、私たちのMavenビルドは通常よりも約4倍長くなります。タイムスタンプはリリースビルドには必要ですが、スナップショットビルドにはタイムスタンプは必要ありません。リリースバージョン(つまり、SNAPSHOTはプロジェクトバージョンには表示されません)のときにのみ、TSA引数を追加するようにPOMファイルを設定します。maven-jarsigner-pluginのリリースでのみTSA引数を設定する方法

以下は、jarsignerプラグインのPOMエントリです。下に追加された引数に注意してください。

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jarsigner-plugin</artifactId> 
      <version>1.2</version> 
      <executions> 
      <execution> 
       <id>sign webcontent jars</id> 
       <phase>prepare-package</phase> 
       <goals> 
       <goal>sign</goal> 
       </goals> 
      </execution> 
      </executions> 
      <configuration> 
      <archiveDirectory>${project.build.directory}/projectname-webcontent/applets</archiveDirectory> 
      <includes> 
       <include>*.jar</include> 
      </includes> 
      <keystore>Keystore</keystore> 
      <alias>alias</alias> 
      <storepass>pass</storepass> 
      <arguments> 
       <argument>-tsa</argument> 
       <argument>https://timestamp.geotrust.com/tsa</argument> 
      </arguments> 
      </configuration> 
     </plugin> 

答えて

2

は、あなたがそれをアクティブに放出プロフィールをオフにピギーバックすることによって、これを達成することができ、あなたのリリースのMavenのリリースプラグインを使用していると仮定すると:私たちは、スナップショットは、プロジェクトのバージョンに表示された場合に追加されないようにこれらをしたいと思います。

リリースを行う際にリリースプラグインを使用しているか、使用していない場合は、独自のカスタムプロファイルでこれを行うこともできます。あなたのポンポンで

、あなたが含まれます:

<profiles> 
    <profile> 
     <id>release-profile</id> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jarsigner-plugin</artifactId> 
      ... 
      <!-- Put your configuration with the TSA here --> 
     </plugin> 
    </profile> 
</profiles> 

今jarsignerのためにビルド/プラグインの設定の正常な部分でTSA引数のものを省略します。なんらかの理由でTSAをスナップショットで使用したい場合は、次のコマンドを使用して手動でリリースプロファイルをアクティブ化できます。

mvn -Prelease-profile install 
関連する問題