[英]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.