【问题标题】:Maven, eclipse, servlet api 3.1.0. Eclipse complains "cannot change version of project facet Dynamic Web Module to 3.1"Maven、eclipse、servlet api 3.1.0。 Eclipse 抱怨“无法将项目方面动态 Web 模块的版本更改为 3.1”
【发布时间】:2017-03-17 13:13:53
【问题描述】:

我使用 maven simple 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.

知道如何消除此错误吗?

【问题讨论】:

    标签: eclipse maven servlet-3.1


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-26
      • 2016-07-03
      • 1970-01-01
      • 2014-03-29
      • 2013-08-09
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多