OPENJDK11环境下用mvn编译未升级的JDK8项目报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin

本案参照URI:https://blog.csdn.net/qq_38872310/article/details/79915069

本处可以肯定是jre版本不对称的问题,如果JDK8项目需要升级,可以通过调节eclipse或者ideaij里面的jdk版本,尝试解决。

但是如果项目未进行升级,仍旧用JDK8,只是mvn打包时需要到linux服务器上进行打包,但是linux服务器上的JDK却先

一步由JDK8升级到了OPENJDK11。因此就会存在mvn编译时编译不通过问题。

以下是具体解决办法。

 一、在项目的pom.xml中添加如下代码(注意位置)

  
      
                org.apache.maven.plugins
                maven-compiler-plugin
                3.1
                
                    1.8
                    1.8
                    utf8
                    true
                    ${JAVA8_HOME}/bin/javac // 个人认为此处指定了mvn进行编译时所运行的JAVA坏境(本案指定了maven设置文件setting.xml内配置的JDK8的路径)
                    
                        -verbose
                        -Xlint:unchecked
                        -Xlint:deprecation
                        -bootclasspath
                        ${JAVA8_HOME}/jre/lib/rt.jar:${JAVA8_HOME}/jre/lib/jce.jar // 如果项目中引用了JDK8下面的JAR包,也需要指定路径
                        -extdirs
                        src/main/webapp/WEB-INF/lib
                    
                
            
          
      

 

二、在maven的插件里,修改setting.xml里的配置

    // 本案此处添加了2个JDK路径的指向,可根据需要进行选择性添加
    
        custom1-compiler
          D:\Java\jdk1.8.0_161  // JDK8路径
    
     
          custom-compiler
     D:\Java\openjdk-11.0.2  // openjdk-11路径
    

 
 
    custom1-compiler//激活上面的配置 和上面的ID对应,就是激活对应的配置
    custom-compiler//激活上面的配置 和上面的ID对应,就是激活对应的配置

 

你可能感兴趣的:(OPENJDK11环境下用mvn编译未升级的JDK8项目报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin)