簡體   English   中英

有沒有人讓動物嗅探器插件起作用?

[英]has anyone got the animal sniffer plugin to work?

maven-animal-sniffer插件承諾會告訴我我的代碼是否具有對Java 1.6(或更新版本)API的引用。 這對於使用MacOSX Snow Leopard(僅具有官方1.6)但需要交付1.5環境的開發人員來說非常重要。

可悲的是,當嘗試使用它時,我將所有Java API調用報告為違規。

我不是唯一遇到此問題的人,但顯然很多其他人都能成功。

如果有人為此使用了有效的POM代碼段,那么它將提供一個非常有用的答案。

請注意,我正在嘗試使用在Central(1.4)上發布的版本,而不是在org.jvnet上使用的版本(1.2)。

我已經為必須使用1.4 JVM運行的項目成功使用了以下配置:

<project>
  ...
  <properties>
    <jdk.level>1.4</jdk.level>
  </properties>
  ...
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.0.2</version>
          <configuration>
            <source>${jdk.level}</source>
            <target>${jdk.level}</target>
          </configuration>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.jvnet</groupId>
        <artifactId>animal-sniffer</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <id>animal-sniffer</id>
            <phase>compile</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <signature>
                <groupId>org.jvnet.animal-sniffer</groupId>
                <artifactId>java${jdk.level}</artifactId>
                <version>1.0</version>
              </signature>
            </configuration>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.jvnet.animal-sniffer</groupId>
            <artifactId>java${jdk.level}</artifactId>
            <version>1.0</version>
            <type>sig</type>
          </dependency>
        </dependencies>
      </plugin>
      ...
    </plugins>
  </build>
</project>

在與不同版本的動物嗅探器戰斗並從各處收集與之相關的信息之后,我終於設法使用了它=)

有關可用簽名及其Maven坐標的列表,請參見http://mojo.codehaus.org/signatures/ 無需聲明對簽名的依賴性。

以下示例提供了針對Java 1.5進行手動(mvn clean compile animal-sniffer:check)檢查的正確配置:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>animal-sniffer-maven-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <signature>
            <groupId>org.codehaus.mojo.signature</groupId>
            <artifactId>java15</artifactId>
            <version>1.0</version>
        </signature>
    </configuration>
</plugin>

以下示例除了使手動檢查簽名成為可能之外,還將在驗證階段自動運行動物嗅探器檢查目標:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>animal-sniffer-maven-plugin</artifactId>
    <version>1.6</version>
    <configuration>
        <signature>
            <groupId>org.codehaus.mojo.signature</groupId>
            <artifactId>java15</artifactId>
            <version>1.0</version>
        </signature>
    </configuration>
    <executions>
        <execution>
            <id>animal-sniffer</id>
            <phase>verify</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM