idea 修改pom文件jdk版本回退问题解决

在Java开发是我们大多都使用集成开发环境,像idea和eclipse用的都比较多,在使用idea maven构建项目时,在修改pom.xml文件时,我们的项目jdk版本都会回退,还得每次去设置中修改jdk版本,如下:

settings设置jdk版本:

 

project structure设置jdk版本:

 

 经过上述两个地方设置完成后项目正常,但是当我们在pom中添加jar依赖包时,或修改pom文件后,maven都会重新构建项目,这样我们原来设置的jdk版本会被重置,项目中因为jdk版本过低会报错,可能我们再按上面设置一下又会好了,但是如果我们项目比较多,或者频繁改动pom文件,那么我们会改到肌无力,这么频繁的修改jdk,是我们码农无法忍受的,我们做开发的目的就是节省人力成本,有没有一劳永逸的方法呢,答案是肯定的,我在这里介绍两种方式:一种是针对项目设置的;一种是针对maven全局设置的;要使用哪种方式大家按自己喜好来选择:

1.针对项目的设置:

需要我们再项目的pom.xml中配置一个pulgin:

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

配置完成后,无论我们怎么修改项目,其依赖度的jdk版本都不会变化,这种方式的好处是:我们的项目往往是可能使用不用的jdk版本,若是我们无法统一各项目的jdk版本,这种方式比较适合;另一个往往我们的项目是多人协同开发的,在项目里设置,其他人pull下代码,无需设置jdk

2.针对maven全局设置

    <profile>
       <id>jdk-1.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>

这种方式设置,我们本地无论哪个项目都是使用maven中配置jdk版本,这样所有项目中都不需要配置jdk版本,但是这种方式,最好是各个项目jdk版本是一致的,如果有不同jdk版本的项目可以单独在项目中按第一种方式设置;另一个就是如果我们协同开发,其他人也必须在自己本地配置maven

上述两种方式各有利弊,也可配合使用

 

posted @ 2019-11-30 15:31  七星6609  阅读(2171)  评论(0编辑  收藏  举报