来自codehouse的Maven动物嗅探器插件无法找到org.jvnet签名

问题描述 投票:4回答:1

我正在尝试使用动物嗅探器Maven插件来验证代码是否与JDK1.4兼容。以下配置有效:

  <plugin>
    <groupId>org.jvnet</groupId>
    <artifactId>animal-sniffer</artifactId>
    <version>1.2</version>
    <configuration>
      <signature>
        <groupId>org.jvnet.animal-sniffer</groupId>
        <artifactId>java1.4</artifactId>
        <version>1.0</version>
      </signature>
    </configuration>
  </plugin>

然而,这是使用插件的旧org.jvnet版本。当我尝试使用新的org.codehaus.mojo版本

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>animal-sniffer-maven-plugin</artifactId>
    <version>1.5</version>
    <configuration>
      <signature>
        <groupId>org.jvnet.animal-sniffer</groupId>
        <artifactId>java1.4</artifactId>
        <version>1.0</version>
      </signature>
    </configuration>
  </plugin>

我收到了错误

[INFO] Failed to resolve artifact.

GroupId: org.codehaus.mojo.animal-sniffer
ArtifactId: java1.4
Version: 1.0

请注意,这是<signature>部分中引用的工件,而不是插件本身。两个版本都引用了相同的工件,因此我不明白为什么在使用新版本时找不到它。

有没有人在使用新版本时成功配置此插件?

java maven-2
1个回答
12
投票

使用CodeHaus的签名:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.4</source>
        <target>1.4</target>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>animal-sniffer-maven-plugin</artifactId>
      <version>1.5</version>
      <executions>
        <execution>
          <id>check-java-version</id>
          <phase>verify</phase>
          <goals>
            <goal>check</goal>
          </goals>
          <configuration>
            <signature>
              <groupId>org.codehaus.mojo.signature</groupId>
              <artifactId>java14</artifactId>
              <version>1.0</version>
            </signature>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
© www.soinside.com 2019 - 2024. All rights reserved.