如何忽略ApacheMaven GPG插件的错误

如何忽略ApacheMaven GPG插件的错误,maven,maven-plugin,maven-central,gpg-signature,maven-gpg-plugin,Maven,Maven Plugin,Maven Central,Gpg Signature,Maven Gpg Plugin,我正在使用ApacheMaven GPG插件Maven GPG插件生成所需的签名,以便通过OSSRH在Maven Central中发布。我在pom.xml上的插件定义如下,我的OSSRH凭证在Maven conf/settings.xml上,一切正常。但是,当另一个开发人员尝试mvn安装时会失败,因为他没有安装GPG。我想避免安装GPG的需要,除了开发人员进行部署之外,可能是通过在构建过程中忽略maven GPG插件错误,或者通过任何其他方式,这样我就不需要有两个pom.xml,一个有插件,另一

我正在使用ApacheMaven GPG插件Maven GPG插件生成所需的签名,以便通过OSSRH在Maven Central中发布。我在pom.xml上的插件定义如下,我的OSSRH凭证在Maven conf/settings.xml上,一切正常。但是,当另一个开发人员尝试
mvn安装时
会失败,因为他没有安装GPG。我想避免安装GPG的需要,除了开发人员进行部署之外,可能是通过在构建过程中忽略maven GPG插件错误,或者通过任何其他方式,这样我就不需要有两个pom.xml,一个有插件,另一个没有插件

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <version>1.6</version>
    <executions>
      <execution>
        <id>sign-artifacts</id>
        <phase>verify</phase>
        <goals>
          <goal>sign</goal>
        </goals>
        <configuration>
          <keyname>${gpg.keyname}</keyname>
          <passphraseServerId>${gpg.passphrase}</passphraseServerId>
        </configuration>
      </execution>
    </executions>
  </plugin>

org.apache.maven.plugins
maven gpg插件
1.6
符号伪影
验证
签名
${gpg.keyname}
${gpg.passphrase}

您可以向pom添加配置文件,并在其中定义maven gpg插件的执行:

<project>
  ...
  <profiles>
    <profile>
      <id>sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                  <passphraseServerId>${gpg.passphrase}</passphraseServerId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
除了手动激活配置文件外,还可以根据环境变量或特定文件的存在等条件自动激活配置文件。有关这方面的更多信息,请参阅

在您的情况下,一个选项可能是在找到GPG特定文件时启用配置文件:

<profile>
  <id>sign</id>
  <activation>
    <file>
      <exists>${user.home}/.gnupg/secring.gpg</exists>
    </file>
  </activation>
  ...
</profile>

签名
${user.home}/.gnupg/secring.gpg
...

我没有测试上面的代码,根据您使用的GPG版本和系统环境,您需要检查的实际文件可能会有所不同。

您可以向pom添加配置文件,并在其中定义maven GPG插件的执行:

<project>
  ...
  <profiles>
    <profile>
      <id>sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <keyname>${gpg.keyname}</keyname>
                  <passphraseServerId>${gpg.passphrase}</passphraseServerId>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
除了手动激活配置文件外,还可以根据环境变量或特定文件的存在等条件自动激活配置文件。有关这方面的更多信息,请参阅

在您的情况下,一个选项可能是在找到GPG特定文件时启用配置文件:

<profile>
  <id>sign</id>
  <activation>
    <file>
      <exists>${user.home}/.gnupg/secring.gpg</exists>
    </file>
  </activation>
  ...
</profile>

签名
${user.home}/.gnupg/secring.gpg
...
我没有测试上面的代码,根据您使用的GPG版本和系统环境,您需要检查的实际文件可能会有所不同