gpt4 book ai didi

java - 如何仅在 maven-jarsigner-plugin 发布时配置 TSA 参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:46 25 4
gpt4 key购买 nike

在我们的 jar 中添加时间戳会导致我们的 Maven 构建花费比平时长约 4 倍的时间。发布构建需要时间戳,但快照构建不需要它。我们如何将 POM 文件配置为仅在它是 Release 版本时添加 TSA 参数(即 SNAPSHOT 不出现在项目版本中)。

下面是 jarsigner 插件的 POM 条目。注意底部添加的参数。如果 SNAPSHOT 出现在项目版本中,我们希望不要添加这些:

        <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>

最佳答案

假设您正在为您的发布使用 maven 发布插件,您可以通过搭载它激活的发布配置文件来完成此操作。

如果您喜欢或不使用发布插件来发布,您也可以使用自己的自定义配置文件执行此操作。

在您的 pom 中,您将包括:

<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

关于java - 如何仅在 maven-jarsigner-plugin 发布时配置 TSA 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14164935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com