Maven,eclipse,servlet api 3.1.0。 Eclipse抱怨“无法将项目方面动态Web模块的版本更改为3.1”

时间:2016-09-24 20:47:34

标签: eclipse maven servlet-3.1

我使用maven简单webapp原型创建了一个webapp,然后添加了以下依赖项:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
    </dependency>

我还将web.xml文件更改为使用版本3.1:

<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">

我将java编译器版本更改为1.8。 Eclipse现在抱怨:

Cannot change version of project facet Dynamic Web Module to 3.1.
One or more constraints have not been satisfied.

知道如何删除此错误吗?

1 个答案:

答案 0 :(得分:0)

你可以试试这个: 在您的项目目录中。

.settings / org.eclipse.jdt.core.prefs,更改为1.8

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8  
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8

.settings / org.eclipse.wst.common.project.facet.core.xml的
将jst.web版本更改为3.1,将java版本更改为1.8

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="java" version="1.8"/>
</faceted-project>

然后再次导入您的项目。 希望这有帮助