如何将自定义jar文件传递给maven jarsigner插件进行签名

时间:2012-04-13 12:37:19

标签: maven jarsigner

我有一个maven构建配置,我在其中执行以下步骤

1)使用maven程序集插件编译并构建jar文件(ABC.jar) 2)使用maven-proguard插件运行proguard以缩小和混淆jar文件以获得结果文件ABC-small.jar 3)运行maven jarsigner插件以签署最终的jar ABC-small.jar

问题是jarsigner插件总是选择从maven-assembly生成的初始ABC.jar文件,而不是从maven-proguard插件生成的ABC-small.jar。

如何告诉jarsigner插件选择ABC-small.jar?

这是我在pom文件中的maven-jarsigner配置

<plugin>
    <artifactId>maven-jarsigner-plugin</artifactId>
    <version>1.2</version>
    <executions>
        <execution>
            <id>sign</id>
            <goals>
                <goal>sign</goal>

            </goals>
        </execution>
    </executions>
    <configuration>
        <!--  <storetype>pkcs12</storetype> -->
        <keystore>cert\keystore</keystore>
        <alias>applet</alias>
        <storepass>applet</storepass>
        <keypass>applet</keypass>
    </configuration>
</plugin>

2 个答案:

答案 0 :(得分:1)

plugin docs表示基本配置会标记项目jar和任何附加的 jar。 ABC-small.jar是否附属于该项目?如果不是,请尝试在插件配置中包含<archive>元素。值应该是ABC-small.jar。

答案 1 :(得分:0)

<configuration>
  <archive>${project.build.directory}/ABC-small.jar</archive>
  <keystore>cert\keystore</keystore>
  <alias>applet</alias>
  <storepass>applet</storepass>
  <keypass>applet</keypass>
</configuration>

在您的配置中,您必须在标记中提及jar文件路径。

添加@ user944849的更多信息解释..如果你想为你的appet使用keytool-maven-plugin生成密钥库..