使用maven-antrun-plugin指定使用maven签名jar的代理

时间:2014-01-14 08:31:36

标签: java maven ant proxy maven-antrun-plugin

我想使用以下maven-script为我的罐子签署一个webstart应用程序:

<plugin>
    <inherited>false</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.3</version>
    <executions>
        <execution>
            <id>signWebJars</id>
            <phase>package</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <mkdir dir="${project.build.directory}/signedjars" />
                    <signjar destDir="${project.build.directory}/signedjars"
                        tsaurl="http://timestamp.my-tsa-url.com"
                        alias="server" keystore="src/main/assembly/MyKeystore.jks"
                        storepass="password" preservelastmodified="true" lazy="true">
                        <path>
                            <fileset dir="${project.build.directory}/dependenciesForSign"
                                        includes="*.jar" />
                        </path>
                </tasks>
            </configuration>
        </execution>
    </executions>
</plugin>

由于我在代理服务器后面,我在settings.xml中配置了一个,maven可以访问互联网。现在我需要联系证书颁发机构的tsaurl。但是对于给定的ant任务,这不起作用:

  [signjar] jarsigner: unable to sign jar: no response from the Timestamping Authority. When connecting from behind a firewall then an HTTP proxy may need to be specified. Supply the following options to jarsigner: 
  [signjar]   -J-Dhttp.proxyHost=<hostname> 
  [signjar]   -J-Dhttp.proxyPort=<portnumber>

我尝试向ant任务提供代理信息,但这不起作用。在我刚发现的Ant Signjar Task手册中:Ant尚不支持此签名过程的代理设置。

我怎么能让这个工作?或者您是否建议另一种方式来签署文件夹中的所有罐子 - 当然还有代理支持?

1 个答案:

答案 0 :(得分:0)

尝试https而不是http 例如-Dhttps.proxyHost = -Dhttps.proxyPort =