4

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 から来ている可能性があります。問題のあるクラスを見つけるにはどうすればよいですか?

4

1 に答える 1

3

Maven で問題が発生した場合は、次のように実行することをお勧めします。

mvn -X clean install

**-X**オプションを使用すると、maven をデバッグできます。私も同様の問題に直面し、依存プロジェクトが Java 6 バージョンを使用してビルドされていないことがわかりました。Java 6 を使用して依存プロジェクトをビルドすると、問題なく動作します。

そのため、この問題は Java 準拠レベルが原因で発生しました。

于 2013-10-31T16:49:28.070 に答える