一招解决IDEA 每当maven依赖有变化或Reload Project时Language Level 和Java Compiler的Target ByteCode version自动重置为低版本

在进行项目开发的过程中, 有时候需要添加新的maven依赖或则因为一些原因项目需要Reload Project ,这个时候项目的Language Level 和Java Compiler的Target ByteCode version自动重置 降低到低版本, 如果所示:

一招解决IDEA 每当maven依赖有变化或Reload Project时Language Level 和Java Compiler的Target ByteCode version自动重置为低版本_第1张图片

一招解决IDEA 每当maven依赖有变化或Reload Project时Language Level 和Java Compiler的Target ByteCode version自动重置为低版本_第2张图片
对于出现这种情况,以下解决方案可以完美解决,亲测有效:
方法一:
手动修改 Language Level 和Java Compiler的Target ByteCode version为统一版本,但是这种方式治标不治本,每次都需要修改, 不建议使用此方法

方法二:单个项目配置pom.xml文件
在pom.xml 中添加如下内容, 指定编译的源码和目标版本为11:

 
        1.8
        1.8

 
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    11
                    11
                
            
        
    

这种方法针对单个项目进行设置,其他的非子类项目不受影响.

方法三: 全局修改, 配置maven的setting.xml文件

在maven的安装目录下,找到项目配置时所用到的setting.xml文件, 不知道在哪里的可以在下图位置进行查看:
一招解决IDEA 每当maven依赖有变化或Reload Project时Language Level 和Java Compiler的Target ByteCode version自动重置为低版本_第3张图片
一招解决IDEA 每当maven依赖有变化或Reload Project时Language Level 和Java Compiler的Target ByteCode version自动重置为低版本_第4张图片
user setting file 就是你项目所配置的setting.xml文件, 在这个文件的 profiles标签中添加如下代码:

  
		jdk-11
		
			true
			11
		
		
			11
			11
			11
		
	

如果所示:
一招解决IDEA 每当maven依赖有变化或Reload Project时Language Level 和Java Compiler的Target ByteCode version自动重置为低版本_第5张图片

你的问题解决了吗?

你可能感兴趣的:(java,java,maven,intellij-idea)