我有一个Maven
项目 foo,它是一个 webstart。为了通过浏览器分发,需要对内容进行 jarsigned,我使用的是maven-jarsigner-plugin
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>package</phase>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<keystore>mykeystore.jks</keystore>
<alias>myalias</alias>
<storepass>mypass</storepass>
</configuration>
</plugin>
那部分有效。然而,完全尴尬的场景是我需要在服务器端组件中使用 webstart jar 中的一些模块,我们称之为 bar,它作为一个Tomcat
模块作为 war 文件运行。我没有设计这个——这是一个巨大的黑客,所以我不需要关于这是一个糟糕的设计的建议。这是我现在必须在其中工作的遗留约束。
问题是,当我将 foo 声明为 bar 的依赖项时,它需要 jarsigned foo.jar - 然后我得到 ajava.lang.SecurityException
因为 bar.war 的其余部分没有签名。
问题:我有没有办法
在 foo 的构建过程中保存一个已签名和未签名的 jar,然后将未签名的 jar 作为依赖项调用到 bar - 或
pom.xml
在 bar 的?中删除依赖声明中的单签名 foo.jar 中的签名