gpt4 book ai didi

java - Maven 3.7.0 编译java 8 项目遇到不兼容API

转载 作者:搜寻专家 更新时间:2023-11-01 03:16:12 24 4
gpt4 key购买 nike

当我使用此命令编译 Java 项目时:

mvn install

抛出这个错误:

    [INFO] Changes detected - recompiling the module!
[INFO] Compiling 1158 source files to /var/lib/jenkins/workspace/xycq-web-ci/cqnews-online/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.172 s
[INFO] Finished at: 2018-06-16T12:47:50+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project cqnews-online: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile: java.lang.NoSuchMethodError: org.codehaus.plexus.compiler.CompilerError: method <init>(Ljava/lang/String;ZIIIILjava/lang/String;)V not found
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-compiler-plugin:3.7.0
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/opt/haishu/local/repo/m2/repository/org/apache/maven/plugins/maven-compiler-plugin/3.7.0/maven-compiler-plugin-3.7.0.jar
[ERROR] urls[1] = file:/opt/haishu/local/repo/m2/repository/org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar

这是我的编译项目pom.xml配置:

 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>

这是我的操作系统和java环境信息:

[root@firewalld cqnews-online]# mvn -v
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: /opt/haishu/local/apache-maven-3.5.3
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /opt/haishu/local/jdk1.8.0_151/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"

最佳答案

解决这个问题的两个步骤:

  1. 更改为 eclipse 编译器
  2. 升级版本到2.x+

这是配置:

           <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerId>eclipse</compilerId>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>2.8.4</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-javac</artifactId>
<version>2.8.4</version>
</dependency>
</dependencies>
</plugin>

关于java - Maven 3.7.0 编译java 8 项目遇到不兼容API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50885095/

24 4 0
文章推荐: java - Oracle 的 Collection 教程令人困惑