Java maven 项目,构建失败版本不匹配

时间:2021-07-12 14:25:57

标签: java maven

我已经克隆了一个 git repo 并尝试在本地构建它,但出现以下错误

<块引用> <块引用>

[INFO] 构建失败 [INFO] --------------------------------------- --------------------------------- [INFO] 总时间:0.850 s [INFO] 完成时间: 2021-07-12T15:42:57+02:00 [信息] -------------------------------------------------- ---------------------- [ERROR] 执行目标失败 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (默认编译)项目gtvg:致命错误编译:无效 标志:--release -> [Help 1] [ERROR] [ERROR] 查看完整堆栈 跟踪错误,使用 -e 开关重新运行 Maven。 [错误] 重新运行 Maven 使用 -X 开关启用完整的调试日志记录。 [错误] [ERROR] 有关错误和可能的解决方案的更多信息, 请阅读以下文章: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

我安装了 java jdk 8 和 11,目前使用的是 java 8

java -version                                                                                                                        

16:03:24
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)

和行家

 mvn -version   

Apache Maven 3.6.3 

pom.xml 真的很大,所以我会贴出我认为相关的部分

  <properties>
   <java.version>8</java.version>
   <maven.compiler.source>${java.version}</maven.compiler.source>
   <maven.compiler.target>${java.version}</maven.compiler.target>
   <maven.compiler.release>${java.version}</maven.compiler.release>
   <project.build.sourceEncoding>US-ASCII</project.build.sourceEncoding>
   <thymeleaf.version>3.0.12.RELEASE</thymeleaf.version>
 </properties>


<build>

<resources>

  <resource>
    <directory>src/main/resources</directory>
  </resource>
  <resource>
    <directory>src/main/java</directory>
    <includes>
      <include>**/*.properties</include>
      <include>**/*.xml</include>
      <include>**/*.html</include>
    </includes>
  </resource>
  
</resources>

    
<plugins>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
  </plugin>
  
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.2.0</version>
  </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.3.1</version>
    <configuration>
      <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
  </plugin>

  <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
  </plugin>

</plugins>
    

我曾希望(不确定我是否在做正确的事情)从 3.8.1 改变

<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>

到 3.6.3

<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.3</version>

可以解决我的问题。但这不起作用并最终导致另一个错误

Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.6.3

我如何让它成功构建?我对 Java 版本很灵活。我可以使用 Java 8 - Java 12,但如果可能,不要更改 Maven 版本。它应该保持原样 3.6.3

1 个答案:

答案 0 :(得分:0)

您可以将 8 或 1.8 之一写入您的 Java 版本属性以声明 Java 8。并且使用 Java 8 您不能使用 maven.compiler.release,它只能与 Java 9+ 一起使用

<java.version>8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>