Java 如何在maven中的某个阶段之后显式执行插件?
我正在使用JavaFXMaven插件创建JavaFXWebStart应用程序。我在用javafxmaven插件签署jar文件时遇到了一些问题。我想做的是,用javafxmaven插件打包(jar)应用程序,然后使用maven jarsigner插件对jar文件进行签名。 在打包应用程序后,如何执行maven jarsigner插件对文件进行签名Java 如何在maven中的某个阶段之后显式执行插件?,java,maven,jar-signing,Java,Maven,Jar Signing,我正在使用JavaFXMaven插件创建JavaFXWebStart应用程序。我在用javafxmaven插件签署jar文件时遇到了一些问题。我想做的是,用javafxmaven插件打包(jar)应用程序,然后使用maven jarsigner插件对jar文件进行签名。 在打包应用程序后,如何执行maven jarsigner插件对文件进行签名 <plugin> <groupId>org.apache.maven.plugins</g
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<archiveDirectory>target/jfx/app/</archiveDirectory>
<includes>
<include>**/*.jar</include>
</includes>
<keystore>path tp keystore</keystore>
<alias>alias</alias>
<storepass>password</storepass>
<keypass>password</keypass>
</configuration>
</plugin>
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.3.0</version>
<configuration>
<bundler>jnlp</bundler>
<mainClass>com.myorg.myapp.launcher.myappLauncher</mainClass>
<bundleArguments>
<jnlp.allPermisions>true</jnlp.allPermisions>
<jnlp.includeDT>true</jnlp.includeDT>
<jnlp.outfile>myapp</jnlp.outfile>
</bundleArguments>
</configuration>
</plugin>
org.apache.maven.plugins
maven jarsigner插件
1.4
签名
target/jfx/app/
**/*jar先生
路径tp密钥库
别名
密码
密码
com.zenjava
javafxmaven插件
8.3.0
jnlp
com.myorg.myapp.launcher.myappLauncher
真的
真的
myapp
为了解决这个问题,我移动了签名验证阶段
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>signing</id>
<goals>
<goal>sign</goal>
<goal>verify</goal>
</goals>
<phase>verify</phase>
<inherited>true</inherited>
<configuration>
...
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven jarsigner插件
1.4
签字
签名
验证
验证
真的
...
然后我像这样调用maven:
mvn验证
或者让验证您的默认目标
或者,您可以将javafx maven插件移动到“准备软件包”阶段:
com.zenjava
javafxmaven插件
8.1.0
jnlp
com.myorg.myapp.launcher.myappLauncher
真的
真的
myapp
创建jfxjar
准备包装
构建jar
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.1.0</version>
<configuration>
<bundler>jnlp</bundler>
<mainClass>com.myorg.myapp.launcher.myappLauncher</mainClass>
<bundleArguments>
<jnlp.allPermisions>true</jnlp.allPermisions>
<jnlp.includeDT>true</jnlp.includeDT>
<jnlp.outfile>myapp</jnlp.outfile>
</bundleArguments>
</configuration>
<executions>
<execution>
<id>create-jfxjar</id>
<phase>prepare-package</phase>
<goals>
<goal>build-jar</goal>
</goals>
</execution>
</executions>
</plugin>