• Cannot change version of project facet Dynamic Web Module to 3.1


    最近项目一直报错,看的极度的不爽,于是找了很长时间的解决方案。

    先说一下环境Spring + SpringMVC + MAVEN + jdk 1.8 + servlet 3.1 

    由于是web 项目,这里选用了 servlet 3.1 的jar 包,在pom 中引入

    <properties>
    	<standard.version>1.1.2</standard.version>
    	<jstl.version>1.2</jstl.version>
    	<servlet-api.verison>3.1.0</servlet-api.verison>
    	<jsp-api.version>2.2</jsp-api.version>
    </properties>
    <dependencies>
    	<dependency>
    		<groupId>taglibs</groupId>
    		<artifactId>standard</artifactId>
    		<version>${standard.version}</version>
    		<type>jar</type>
    	</dependency>
    	<dependency>
    		<groupId>javax.servlet</groupId>
    		<artifactId>jstl</artifactId>
    		<version>${jstl.version}</version>
    		<type>jar</type>
    	</dependency>
    	<dependency>
    		<groupId>javax.servlet</groupId>
    		<artifactId>javax.servlet-api</artifactId>
    		<version>${servlet-api.verison}</version>
    		<scope>provided</scope>
    	</dependency>
    	<dependency>
    		<groupId>javax.servlet.jsp</groupId>
    		<artifactId>jsp-api</artifactId>
    		<version>${jsp-api.version}</version>
    		<scope>provided</scope>
    	</dependency>
    </dependencies>
    

      

    而 web.xml 的头文件也要改为3.1(可以照着 tomcat8 的web.xml 复制这段头文件)

    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    	version="3.1">
    

    方法一(推荐):

    为了Maven 的编译环境和所设置的jdk 是一致的,在pom 中添加一个编译插件

    <build>
    		<plugins>
    			<!-- Compiler 插件, 设定JDK版本 -->
    			<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>
    					<showWarnings>true</showWarnings>
    				</configuration>
    			</plugin>
    		</plugins>
                    ……
    
    </build>
    

      

    全部都设置好了之后

    在项目中删除下面的文件(只保留 src 和pom.xml),重新导入 maven project

    .settings .classpatch .projejct  target
    

    如此设置之后,项目就不会报错了。

    方法二:

    当然,如果没有使用这个maven插件,要去除这个错误的方法就是:

    1)手动设置 jdk 编译版本为1.8

    2)设置 java build path 的jre 为jdk 1.8

    3)使用Navigator视图查看.setting 文件夹下的org.eclipse.wst.common.project.facet.core.xml 改成如下值

    如此这般也可以解决这个问题(但是没有上面那个简单快捷,而且偶尔还是可能设置出错)

  • 相关阅读:
    Ubuntu系统中安装Macaca过程记录
    Nightwatch——自动化测试(端对端e2e)
    junit 5 官方用户手册
    junit 5 与 testNG 使用对比
    认知体系——从“知道自己不知道”到“知道自己知道”的进化
    测试入门教程
    web UI 自动化变革龙测问世
    [黑苹果硬件] 实用黑苹果配置推荐
    windows使用vbs打开谷歌浏览器登录网页
    Note++ 的快捷
  • 原文地址:https://www.cnblogs.com/panie2015/p/5806228.html
Copyright © 2020-2023  润新知