精华内容
下载资源
问答
  • maven项目会用maven-compiler-plugin默认的jdk版本来进行编译,如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题。 指定编译版本的方法如下: 1、方式一 <properties> <maven....

    maven项目会用maven-compiler-plugin默认的jdk版本来进行编译,如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题。

    指定编译版本的方法如下:

    1、方式一

    <properties>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
    </properties>

    2、方式二

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    展开全文
  • 反馈给架构组,才发现,原来是maven插件编译版本由原来的1.7被修改成为了1.6,而我们idea中配置的jdk为1.8,所以导致使用Java7特性的一些代码,会报错。1.问题截图大家可以发现,List chooseCourseModel...

    下午更新代码的时候,报了如下问题。当时很奇怪,第一感觉,jdk出现了问题,但是确认了很多次,jdk没有问题。然后去小何那里,发现更新代码之后,出现了同样的问题。反馈给架构组,才发现,原来是maven插件编译的版本由原来的1.7被修改成为了1.6,而我们idea中配置的jdk为1.8,所以导致使用Java7特性的一些代码,会报错。

    1.问题截图

    c4fac86c362a174032b1a1e834b89d14.png

    大家可以发现,List chooseCourseModelList=new ArrayList<>();报错了。错误提示,Java 1.6中不支持这种泛型写法。

    更改为List chooseCourseModeList=new ArrayList();之后,错误消失。

    2.原因

    maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本进行处理,这样就容易出现版本不匹配的问题。例如上图中的问题:代码中使用了jdk1.7的新特性,但是maven在编译的时候,使用的是jdk1.6的版本,那么这一段代码完全不能够编译成为.class文件的。所以为了处理这种情况,我们在构建maven项目的时候,需要配置maven-compiler-plugin插件的版本。

    3.为什么要修改?

    架构组告知,是root.pom文件中的maven插件编译版本,由原来的1.7更改为了1.6.

    更改原因是:版本越低,兼容性越好,以后系统上线之后,可以更好地适应各个高校的使用。这个我理解,但是我不太懂的是,maven项目编译的项目怎么跟JDK版本关联起来的?接下来主要了解一下maven-compier-plugin插件的使用。

    4.maven-compiler-plugin插件

    maven 本质上是一个插件框架,它的核心并不执行具体的构建任务,所有的这些任务全都交给插件来完成。例如编译源代码是由maven-compiler-plugin来完成的。此插件用来编译位于src/main/java目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码。由于历史原因,Maven的核心插件之一,maven3 compiler插件默认值支持Java1.5,因此我们需要配置该插件支持适合自己项目的版本。

    如在下图是在项目中配置的maven-compiler-plugin。

    yyyyMMddHHmmss

    UTF-8

    1.7

    1.7

    3.6.1

    2.10

    compiler-plugin主要注意问题:

    (1):maven 2.1默认用jdk 1.3来编译,maven 3 貌似是用jdk 1.5,如果项目用的jdk 1.6也会有问题,compiler插件可以指定JDK版本为1.6。

    (2):windows默认使用GBK编码,java项目经常编码为utf8,也需要在compiler插件中指出,否则中文乱码可能会出现编译错误。

    5.参考连接:

    小结:

    maven还需要再次系列学习,遇到问题了,才知道原来学习的是多么浅薄。

    展开全文
  • 配置maven 项目jdk版本

    2021-11-16 11:57:51
    1、全局配置(所有新建项目都是用当前jdk版本) 找到maven文件下的settings.xml文件,添加下面标签到profiles中 <profile> <id>jdk1.8</id> <activation> <activeByDefault>true&...

    1、全局配置(所有新建项目都是用当前jdk版本)

    找到maven文件下的settings.xml文件,添加下面标签到profiles中

    <profile>
    	<id>jdk1.8</id>
    	<activation>
    		<activeByDefault>true</activeByDefault>
    		<jdk>1.8</jdk>
    	</activation>
    	<properties>
    		<maven.compiler.source>1.8</maven.compiler.source>
    		<maven.compiler.target>1.8</maven.compiler.target>
    		<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    	</properties>
    </profile>
    

    2、局部配置(自定义当前项目的jdk版本)
    找到maven项目中的pom.xml,添加下面标签

    	<build>
    		<finalName>dolphin</finalName>
    		<plugins>
    			<plugin>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.7</source>
    					<target>1.7</target>
    					<encoding>UTF-8</encoding>
    				</configuration>
    			</plugin>
    		</plugins>
    	 </build>
    

    3、maven项目打包,把lib文件夹中的jar打包进去

    <build>
    		<!--打包名称-->
    		<finalName>dolphin</finalName>
    		<plugins>
    			<plugin>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<configuration>
    					<source>1.7</source>
    					<target>1.7</target>
    					<encoding>UTF-8</encoding>
    					<compilerArguments>
    						<extdirs>src\main\webapp\WEB-INF\lib</extdirs>
    					</compilerArguments>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    
    展开全文
  • 问题源于我在安装maven以后没有做过任何的设置,使用命令mvn install的时候得到了error: generics are not supported in -source 1.3和error: for-each loops are not supported in -source 1.3, 第一感觉就是JDK...

    问题源于我在安装maven以后没有做过任何的设置,使用命令mvn install的时候得到了error: generics are not supported in -source 1.3和error: for-each loops are not supported in -source 1.3, 第一感觉就是JDK出现了问题(错误原因显然应该是用JDK1.3编译了),但是项目的JDK设置的就是1.7,语言也是7.0。

    这里有两个办法(全局设定和单工程设定)可以解决问题。

    1. 全局设定就是修改maven的配置文件,应该先找到你的maven安装目录,我用的是linux, mvn -v就能知道path。

    bfee91f019bb2ce2d593dd7ac327776f.png

    在conf文件夹下找到settings.xml在profiles 节点下增加:

    jdk-1.7

    true

    1.7

    1.7

    1.7

    1.7

    就好了,这里配置的是1.7, 你可以修改成任何你需要的版本。

    2. 工程设定就是在你maven工程的pom.xml文件中加入plugin.

    org.apache.maven.plugins

    maven-compiler-plugin

    3.1

    1.7

    1.7

    UTF-8

    这样本工程maven就会使用1.7去编译了。

    展开全文
  • mavenjdk的配置分为全局配置和局部配置两种方式。一、全局配置全局配置是指在${MAVEN_HOME}\conf\settings.xml中进行配置,注意${MAVEN_HOME}指的是maven的安装目录。例如,要配置jdk1.8,打开settings.xml这个文件...
  • maven设置jdk编译版本

    2021-04-28 19:56:05
    <build> <plugins> <plugin> <...org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</...
  • pom指定编译jdk版本

    2021-05-14 09:08:07
    指定JDK版本,不指定,默认会为1.5,每次都需要单独设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...
  • Maven 编译JDK版本

    2021-01-17 19:33:21
    Maven命令的运行需要依赖JDKMaven编译更是离不开jdk;能否编译成功、编译的结果都和JDK版本息息相关。...2、 系统中maven 编译项目的时候使用的是哪个JDK版本?3、 如果现在系统默认的JDK版本是1...
  • 机器上安装了java 8和11两个版本,不过在使用Maven构建项目时为了兼容客户端,我们常常需要指定编译生成的jar包的java版本。也就是说,即使我平常使用的java 11,我仍然可以编译出java 8可以运行的jar包。 修改项目...
  • update project 时候,项目jdk版本变了,变回1.5版本或者其他版本解决办法:解决办法一:在项目中的pom.xml指定jdk版本,如下:org.apache.maven.pluginsmaven-compiler-plugin3.11.71.7这个方...
  • 直接修改maven配置文件setting.xml,使其默认为jdk8 <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> <...
  • Idea基于Maven配置多JDK版本如果在本地开发环境中安装了多个JDK版本的话,需要在idea中自由切换,就需要利用Maven进行配置,配置后就可以非常方便的进行版本切换。配置步骤如下:1. 配置settings.xml在Maven的本地...
  • Maven指定JDK版本有以下三种方式,三种方式等价,在项目中选择一种即可。 source: 程序源码在哪个JDK版本编译 target: 程序应该在哪个JDK版本下运行 1. property标签 <properties> <maven.compiler....
  • When I do not define something as follows in my pom.xml file, where on my system is it defined for Maven which version of Java JDK to use while compiling (I have several versions installed on my syste...
  • 配置 maven 编译插件的 JDK 版本maven 编译插件(maven-compiler-plugin)有默认编译 JDK版本,但这个 JDK 版本通常和我们实际开发使用的不一致。The -source argument for the Java compiler.NOTE: Since 3.8.0 ...
  • pom.xml-结构 org.example Qsy_OA 1.0.1...\Program Files\Java\jdk1.6.0_45\bin\javac utf8 org.apache.maven.plugins maven-assembly-plugin com.jw.oa.UploadFile config/ jar-with-dependencies false 执行package
  • which are the default property names for the plugin parameters: [...] 1.8 1.8 [...] OR configure the plugin directly: [...] [...] org.apache.maven.plugins maven-compiler-plugin 3.8.0 1.8 1.8 [...] [....
  • maven项目会用maven-compiler-plugin默认的jdk版本来进行j编译; 如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题。 解决办法:在pom文件中配置maven-compiler-plugin插件(以jdk1.8为例)。 1...
  • 文章目录一、IDEA切换JDK版本二、终极解决方案 一、IDEA切换JDK版本 要想在IDEA中完成对JDK版本的切换有多个地方需要我们进行修改 File | Settings | Build, Execution, Deployment | Compiler | Java Compiler ...
  • 在继续之前,我们可以检查Maven的默认JDK版本。运行mvn -v命令将显示Maven运行的Java版本。$ mvn -vApache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)Maven home: /opt...
  • 2.想将IDEA中的JDK版本更改为自己指定版本 解决方案: 1.打开右上角File --> Project Structure修改Project 和 Modules中的版本 2.打开Setting->Build,Exectuion,Deployment->Compiler->Java ...
  • maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <encoding>UTF-8</encoding> </properties>
  • 最近使用maven install命令来打包项目时,出现了:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project server-api: Compilation failure: ...
  • maven项目会用maven-compiler-plugin默认的jdk版本来进行j编译,如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题。解决办法:在pom文件中配置maven-compiler-plugin插件(以jdk1.8)。 1、方式...
  • maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配的问题,以至于可能导致编译不通过的问题。...
  • Maven配置阿里云镜像仓库地址
  • I must be the anti-Maven since every time I try to use it I spend a lot of time struggling and then just give up. My latest is I can not compile Java 7 source code despite having a 1.7 JDK.Here is the...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,935
精华内容 25,574
关键字:

maven指定jdk编译的版本