Java 在部署到远程repo之前运行Maven插件

Java 在部署到远程repo之前运行Maven插件,java,maven,maven-3,Java,Maven,Maven 3,在我的maven项目中,我使用pgp插件对JAR进行签名。我只需要在部署到远程repo时这样做,但在安装到本地repo时不需要这样做。所以我试着设置部署阶段 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> &l

在我的maven项目中,我使用pgp插件对JAR进行签名。我只需要在部署到远程repo时这样做,但在安装到本地repo时不需要这样做。所以我试着设置部署阶段

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <id>sign-artifacts</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>sign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

org.apache.maven.plugins
maven gpg插件
1.1
符号伪影
部署
签名
有了这个配置,maven首先部署到远程repo,然后签署我的JAR

我读到插件是按照POM文件中定义的顺序执行的,所以我尝试在签署插件后配置DeployPlugin,但没有任何效果

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <id>sign-artifacts</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>sign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
            <executions>
                <execution>
                    <phase>deploy</phase>
                    <goals>
                        <goal>deploy</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

org.apache.maven.plugins
maven gpg插件
1.1
符号伪影
部署
签名
org.apache.maven.plugins
maven部署插件
2.8.2
部署
部署

我如何才能实现签名插件不是在安装时执行的,而是在上传工件之前在部署时执行的?我正在使用maven3。

我看到project将
gpg插件
置于
verify
阶段


我可以知道你用的是什么版本的Maven吗?我相信同一阶段的插件应该按照定义的顺序运行,在Maven 2.0.10之后(或者更早)。但是由于
maven部署插件
deploy
阶段的默认绑定,我不清楚订购是否有效。首先,我建议更新到一个更新的版本,因为这个版本是2010年的。除此之外,我建议保留插件的默认值,这意味着部署生命周期和验证生命周期阶段都不理想如果您有集成测试。在这种情况下,有必要定义一个仅在发布案例中激活的概要文件,以防止与集成测试混淆


真的
org.apache.maven.plugins
maven部署插件
2.8.2
真的
部署
org.apache.maven.plugins
maven gpg插件
1.6
符号伪影
签名

听起来有点棘手。。。本地安装和远程部署的工件不应该相同吗?