关于maven项目的Cannot change version of project facet ...和Java compiler level does not match the version

本文介绍了如何通过在pom.xml中指定Java版本来解决Maven项目中Java版本不匹配的问题,包括设置源代码和目标代码版本的方法,并提供了两种额外的调整Java版本的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近入职新公司要重新导入一些项目,掉到maven的坑里去了,这里记录一下,以防后面再需要。

这两个问题其实我个人感觉是一个问题,主要就是电脑的java版本和项目指向的版本不对应。最重要是在pox.xml中添加代码

<pluginManagement>  
            <plugins>  
                <plugin>  
                    <groupId>org.apache.maven.plugins</groupId>  
                    <artifactId>maven-compiler-plugin</artifactId>  
                    <version>3.2</version>  
                    <configuration>  
                        <source>1.7</source>  
                        <target>1.7</target>  
                    </configuration>  
                </plugin> 
            </plugins>  
 </pluginManagement>  
我这里设置了版本指向1.7,加入此代码然后update project一般就可以了。

如果不可以,当然还有一些琐碎的设置,比如右击项目--properties--java build path里面的Libraries和order and export里面也可以调整java版本,不过这个调整意义不大,在update项目后经常变回去,意义不大。

还可以从eclipse调出项目的navigator视图,从项目的.setting文件里面设置java版本。这个方法是关联右击项目设置里面的java compiler,从源文件来修改项目指向的java版本。具体操作如下:

点击上方window--show view--navigator,这时就可以在左边点击navagator视图,再选择项目,可以看到里面有个.settings文件夹,org.eclipse.jdt.core.prefs,org.eclipse.wst.common.project.facet.core.xml这两个文件内可以调整指向的java版本。


这两个方法都是治标不治本,个人理解该原因还是maven的问题,设置的java版本和eclipse的不匹配,maven并没有像eclipse一样去读取path文件中的java路径来获取当前的java版本,所以我们需要在pom文件中来指定,才可以从根本上解决这个问题。以上这个判断是我的推测,如果以后找到实际证明,还会更新这篇帖子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值