解决Eclipse 每Maven Update 后JRE System Library 就变1.6和project facets

今天在eclipse上对一个Spring boot 项目的代码修改了一下,最后部署的时候,总是提示我-Source 1.6 不支持switch中包含字符,

刚看见的时候以为自己的jdk和编译环境设置不对,检查了一下发现时1.8没错,但就是编译不过去。网上查了好多资料,最好发现按照网上的方法进行Update的时候,发现jre就自动变成1.6了,手动修改成1.8也没用。

网上说是因为maven 更新后自动设置了版本导致的,后来在pom.xml中写死成了1.8就解决问题了

在pom.xml中的<build></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>

之前在网上查解决方法的时候,修改了project facets

解决Eclipse 每Maven Update 后JRE System Library 就变1.6和project facets

当时勾选了这个Dynamic Web Module 点击确定后,项目多了一个文件夹

网上插了资料后,一位博主是这么解释的,感觉很有用

在eclipses中的facets可以理解为:项目的特性,某一方面功能。主流 IDE (Eclipse IDEA) 都提供了 facet 的配置

在Eclipse中,新建的 Java Project 都有一个默认的 java facet,那么 Eclipse 就只提供 JavaSE 项目支持,当你需要将该项目升级为 java web 项目时,可以为项目添加 Dynamic Web Module (就是一个支持Web的facet),这样 eclipse 就会将项目结构调整为带有 WebContent or WebRoot 目录的标准结构且添加 deployment descriptor (web.xml)并调整默认的 classpath,同时,如果你要用到 javascript,可以对应地添加 javascript facet,这样 eclipse 就会为项目添加 javascript 相关的支持(构建、校验、提示等等),如果你的项目用到了 hibernate,则可以添加 jpa facet 来让 eclipse 提供对应的功能支持等等。

尤其在Eclipse中创建Maven的web项目时,常会用到上面的配置,给项目添加动态web功能。
 

原帖:https://blog.****.net/zp8126/article/details/77977748