创建Maven版的java工程时的jdk配置问题

本文详述了Maven创建的Java工程默认使用JDK1.5版本带来的集合操作限制,以及如何通过修改项目设置或settings.xml文件,将JDK版本更新至1.7,以支持菱形语法等新特性。

创建Maven版的java工程,它默认的jdk的版本是1.5的,这时所带来的影响(常规代码没有什么影响,只是对于集合有较大的影响):

在jdk1.5以上的版本,集合可以这样的写:List<String> list=new Array<>();      (菱形语法:diamond    只要看到报错中有diamond就是这个泛型的问题)

在 jdk1.5的版本,集合必须这样的写:List<String> list=new Array<String>();

解决方法:

1.(手动的:需要每创建一次就要修改一次):右击项目--->BuildPath--->Configure Build Path...--->选中“JRE System  Library[J2SE-1.5]”--->Remove--->Add Library...--->双击“JRE System Library”--->Finish--->Java Compiler--->Apply--->选中“1.7”--->Apply.

2.一劳永逸的解决方法:
        a.打开settings.xml文件
        b.找到profiles标签
        c.加入如下配置(一定要插入profiles标签内部)(版本可以更高,只需要maven核心程序与jdk匹配即可)
            <profile>
                <id>jdk-1.7</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                    <jdk>1.7</jdk>
                </activation>
                <properties>
                    <maven.compiler.source>1.7</maven.compiler.source>
                    <maven.compiler.target>1.7</maven.compiler.target>
                    <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
                </properties>
            </profile>

在不同的开发工具中,在Maven工程配置基础运行的JDK 1.8本的方法有所不同。 ### 在Eclipse中 当使用Maven管理Java工程,可能会遇到eclipse自带的maven插件不支持jdk1.8的问题。即便安装的是JDK 1.8本,且在配置文件`pom.xml`中修改了JDK本为1.8,更新Maven工程,编译器的JDK本可能自动变成JDK 1.4本。解决此问题可参考以下思路: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> ``` 在`pom.xml`文件中添加上述配置,`<source>`和`<target>`标签都设置为`1.8`,明确指定编译源本和目标本为JDK 1.8。 ### 在IDEA中 IDEA每次创建Maven工程默认编译本可能是JDK 15 ,可将默认修改为JDK 1.8。关于Maven的详细设置可参考文章:[Maven配置](https://blog.youkuaiyun.com/qq_45037155/article/details/123019074) 。同样也可以在`pom.xml`文件中添加与Eclipse中类似的`maven-compiler-plugin`配置来指定JDK本为1.8。 此外,还需要确保系统的环境变量配置正确。`JAVA_HOME`应配置JDK 1.8的安装路径;`CLASSPATH`配置Java加载类路径,在路径前加“ . ”表示当前路径;`PATH`要配置系统在任何路径下都可以识别的JavaJavac命令,以保证Maven能正确找到JDK 1.8的运行环境 [^1][^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值