maven-compiler-plugin版本指定方式

目录
  • maven-compiler-plugin版本指定
    • 1 pom文件添加支持
    • 2 环境jdk/jre指定
    • 3 Java Build
    • 4 pom文件去除支持
  • maven-compiler-plugin配置JDK版本
    • 仓库地址
    • 使用过的配置
    • 补充说明

maven-compiler-plugin版本指定

spring cloud微服务,生成部署JAR包时提示:

maven-compiler-plugin: 3.8.1不能编译,需要jre而不是jdk。

1 pom文件添加支持

    <!-- 部署版本生成时的插件编译支持>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
    </dependency -->
<!-- 部署版本生成时的插件编译支持 -->

一般情况,做这一步就可以了,若不可以再进行下面步骤。

2 环境jdk/jre指定

3 Java Build

4 pom文件去除支持

通常上面三个步骤说可以,再次构建时若又提示不能编译,可注释掉相应支持,即可。

    <!-- 部署版本生成时的插件编译支持>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
    </dependency -->

maven-compiler-plugin配置JDK版本

Maven3.x 项目中默认使用 JDK1.5,这显然不是我想要的。 Apache Maven Compiler Plugin 可以用来配置编译所用的 JDK版本

仓库地址

https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin

  • <version>2.3.2</version> 2.4 以上才支持 servlet 3.0
  • 我猜去掉 <version>2.3.2</version> 应该默认用最新版,所以是 Servlet 3.1

使用过的配置

  • JDK1.7
  • Servlet 3.0
    <build>
        <finalName>kerduo</finalName>
        <plugins>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-compiler-plugin</artifactId>  
                <version>2.3.2</version> 
                <configuration>  
                    <source>1.7</source>  
                    <target>1.7</target>  
                </configuration>  
            </plugin>  
        </plugins> 
    </build>
  • JDK1.8
  • Servlet 3.1
  <build>
    <finalName>demo</finalName>
    <plugins>  
            <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>  
                </configuration>  
            </plugin>  
        </plugins> 
  </build>

补充说明

  • maven-compiler-plugin:控制编译 (所以JDK版本是设置这它)
  • spring-boot-maven-plugin 用于打包

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • IDEA-Maven项目的jdk版本设置方法

    在 Intellij Idea 中,我们需要设置 Settings 中的 Java Compiler 和 Project Structure 中的 Language Level 中的 jdk 版本为自己目前使用的版本,否则会经常提示我们 jdk 版本不正确导致的语法错误. 比如配置为 jdk1.8 : 但是在 Maven 项目中,Java Compiler 和 Language level 中的设置会自动变回到 pom.xml 文件中设置的 jdk 版本或者默认的 jdk1.5 版本.所以我们需

  • 解决maven maven.compiler.source和maven.compiler.target的坑

    目录 maven maven.compiler.source和maven.compiler.target的坑 看了下,IDE配置的JDK 自动build之后,的确是jdk 1.7 换成J2SE-1.8 换成1.6 如果要强制jdk版本 maven编译报错java: -source,pom设置maven.compiler.source原理 maven maven.compiler.source和maven.compiler.target的坑 最近建议产品组把jdk 1.7升级到1.8,昨晚开发报了

  • Java修改maven的默认jdk版本为1.7的方法

    问题: 1.创建maven项目的时候,jdk版本是1.5版本,而自己安装的是1.7或者1.8版本. 2.每次右键项目名-maven->update project 时候,项目jdk版本变了,变回1.5版本或者其他版本 解决办法: 解决办法一:在项目中的pom.xml指定jdk版本,如下: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <ar

  • maven-compiler-plugin版本指定方式

    目录 maven-compiler-plugin版本指定 1 pom文件添加支持 2 环境jdk/jre指定 3 Java Build 4 pom文件去除支持 maven-compiler-plugin配置JDK版本 仓库地址 使用过的配置 补充说明 maven-compiler-plugin版本指定 spring cloud微服务,生成部署JAR包时提示: maven-compiler-plugin: 3.8.1不能编译,需要jre而不是jdk. 1 pom文件添加支持     <!-- 部署

  • Maven 多profile及指定编译问题的解决

    目录 Maven 多profile及指定编译 要点 实例 Maven 指定编译版本 javac maven Maven 多profile及指定编译 要点 项目A依赖项目B,项目A.B都有对应的多个profile,通过mvn –P参数指定profile,只对A生效,对B不生效 项目A.B模块位于同一父项目,父项目构建时指定profile,可以传给A,B项目,A.B都使用同一指定的profile. 也可在父项目中定义属性,激活子项目profile,意即父项目 profile属性可传给各个子项目. 项

  • 聊聊maven与jdk版本对应关系

    目录 maven与jdk版本对应关系 解决方式(windows) maven和java的jdk版本不同 怎么改成一样的呢? maven与jdk版本对应关系 很多搬砖的小伙伴在使用maven项目打包的时候,都会遇到下面的编译问题: Caused by: java.lang.UnsupportedClassVersionError: org/apache/maven/plugin/compiler/CompilerMojo : Unsupported major.minor version 51.0

  • 利用Maven添加工程版本信息及时间戳

    目录 Maven添加工程版本信息及时间戳 定义全局变量 给MANIFEST.MF文件添加版本及时间戳信息 Maven版本发布添加上时间戳 使用插件添加时间戳 pom中加入 现在只需要在配置文件加入(用的的是.yml) Maven添加工程版本信息及时间戳 定义全局变量 pom文件中添加 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.buil

  • maven插件spring-boot-starter-tomcat的使用方式

    目录 tomcat内嵌到web项目中 1.pom.xml 配置 2.tomcat使用maven内嵌入到web项目需要jdk运行环境 3.springmvc依赖 4.编写表现层代码 5.配置web.xml 6.SpringMVC的配置文件 7.配置完成后在项目上鼠标右键 tomcat内嵌到web项目中 将tomcat 内嵌到 web项目中,这样可以直接运行 webapp项目. 不需要再部署到额外的tomcat,直接就可以运行了. 1.pom.xml 配置 <plugins> <plugin

  • java 中使用maven shade plugin 打可执行Jar包

    java 中使用maven shade plugin 打可执行Jar包 eclipse里有一个功能叫做"打可执行(runnable) jar包", 用这个功能可以把一个工程自身和所有依赖包打成一个fat jar,并且指定Main方法,这样直接使用java jar xxx.jar就可以运行代码了. 但是在不使用eclipse的时候呢?其实,借助maven,我们很容易实现同样功能.maven提供了一个shade plugin,可以用来打fat jar, 同时也提供了指定main方法的功能.

  • 解决MyEclipse中Maven设置jdk版本jdk1.8报错问题

    今天安装了jdk1.8.tomcat8.和maven3.5.2,弄好后在myeclipse新建了一个maven项目,项目默认是jdk1.5,如图一,我把它改成jdk1.8,项目就报错了,如图二,然后update project后又变成jdk1.5了. 图一: 图二: 解决方法: 打开maven项目的pom.xml文件, 在build节点下加入下面这段代码 ,然后在选中项目右键-->maven4myeclipse-->update project...就能更新为jdk1.8了.如图三,现在项目已

  • Springboot 整合maven插口调用maven release plugin实现一键打包功能

    maven release plugin配置 参考https://www.cnblogs.com/jiujixin/p/16003321.html 配置好pom. 整合maven-invoker使程序去执行mvn命令 1.导包 <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-invoker</artifactId> <version>3

  • tomcat 通过占位符设置端口的方法(即参数指定方式)

    工作需要,找了网上很多资料,都是复制粘贴,并没有解决实际问题,弄了好久终于搞定了. 共有三种方式: 第一种 通过启动命令行启动参数调用 1.在conf/server.xml中进行设置如下:port="${http.port}" 2.在bin/catalina.xml中进行设置如下:JAVA_OPTS="JAVA_OPTS" -Dhttp.port='50000'"(你自己想要设定的端口号) 3.重启tomcat 4.IP+端口访问 表示设置成功 5.最后正

随机推荐