从我的pom.xml
配置Maven动物嗅探器插件:
<properties>
<animal-sniffer-maven-plugin.version>1.9</animal-sniffer-maven-plugin.version>
</properties>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>${animal-sniffer-maven-plugin.version}</version>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java16-sun</artifactId>
<version>1.0</version>
</signature>
</configuration>
<executions>
<execution>
<id>check-java16-sun</id>
<phase>test</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
(这是借用了Google Guava的pom.xml
)
今天,我开始从嗅探器插件中收到错误:
[ERROR] Failed to execute goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.9:check (check-java16-sun) on project Optimus:
Execution check-java16-sun of goal org.codehaus.mojo:animal-sniffer-maven-plugin:1.9:check failed:
An API incompatibility was encountered while executing org.codehaus.mojo:animal-sniffer-maven-plugin:1.9:check:
java.lang.NoSuchMethodError: java.nio.CharBuffer.subSequence(II)Ljava/nio/CharBuffer;
我没有直接在我的代码中调用CharBuffer.subSequence(...)
。它可能来自一个包含的JAR。我怎样才能找到有问题的班级?
答案 0 :(得分:3)
建议每当您遇到Maven时遇到问题,请按以下方式运行:
mvn -X clean install
**-X**
选项使您可以调试maven。我也遇到了类似的问题,发现依赖项目不是使用Java 6版本构建的。当我使用Java 6构建依赖项目时,它会产生罚款。
因此,由于Java合规性级别而出现此问题。