java - 如何从 Maven animal sniffer 插件中查找错误源?

标签 java maven

从我的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。我如何找到有问题的类(class)?

最佳答案

建议您在使用 Maven 遇到问题时按如下方式运行它:

mvn -X clean install

**-X** 选项使您能够调试 maven。我也遇到过类似的问题,发现依赖项目不是使用 Java 6 版本构建的。当我使用 Java 6 构建依赖项目时,它工作正常。

所以这个问题是由于 Java 合规性级别而发生的。

关于java - 如何从 Maven animal sniffer 插件中查找错误源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18821440/

相关文章:

java - 安卓:我是新手。我在 java 文件中声明了一个按钮,但在 xml 文件和模拟器上没有看到它

javax.mail 无法发送邮件到 hotmail

java - 通过 Maven 获取斯坦福核心 NLP

android - 如何在 build.gradle 中包含多个存储库?

Maven SCR 插件 - 不生成 OSGI-INF 文件夹

java - Hadoop Library导入但无法在File System中设置 "get"方法

java - 模块化项目中的资源过滤

java - 如何更改 Android 飞行模式的行为,使其不会关闭蜂窝 radio ?

java - Spring MVC 与路径变量的映射

使用phantm扫描PHP项目时出现Java错误