我正在使用maven在Eclipse中创建一个动态web应用程序。我添加了一些文件夹,如src/test/java和src/test/resources。我还更改了Java Build Path中的库,以获得JavaSE-1.7。到这里都没问题。

当我试图改变项目Facet动态Web模块时,出了问题。在同一个地方,我将Java更改为1.7。它仍然告诉我,不能将项目facet动态Web模块的版本更改为3.0。

我已经改变了所有我认为会影响改变的东西。


当前回答

打开org.eclipse.wst.common.project.facet.core.xml文件并更改jst. core.xml文件。Web版本到3.0。还要将web.xml更新到3.0版本。保存并更新项目。希望这能有所帮助。我正在使用Eclipse Juno

其他回答

只是想分享我自己的经验,我发现我的动态Web模块被锁定了,它是通过以下步骤解决的:

第一个

右键单击项目>属性>项目facet >右键单击动态Web模块>解锁>应用并关闭

第二个

右键单击项目> Maven >更新项目> OK

请打开Navigator视图并执行以下步骤

(Window > Show View > Other > General),然后发现在你的项目下有一个。settings文件夹,展开它,然后打开文件“org.eclipse.wst.common.project.facet.core.xml”,做下面的修改并保存文件。 将这一行中的动态web模块版本更改为2.5 - 将这一行中的Java版本更改为1.5或更高版本。

这个问题与版本右键单击项目->属性->项目Facets->右键单击动态Web模块->解锁它-> uncheck->选择2.5版本->应用->更新maven

从项目结构中打开web.xml http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd” version = " 3.0 " > Servlet 3.0 Web应用程序

并更新web.xml文件 例如change version = "2.5"

还要从project .settings文件更改org.eclipse.wst.common.project.facet.core.xml文件 遵循以下步骤 1. 窗口>显示视图>其他>常规>导航器

在你的项目目录下有一个。settings文件夹 将这一行中的动态web模块版本更改为2.5 4.将这一行中的Java版本更改为1.5或更高版本

现在刷新您的项目并设置在服务器上运行。

是否关注博客寻找解决方案 http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html

解决方案是由图像插图产生的

我也遇到了同样的问题,编辑web.xml以及更改.settings文件夹中的文件并没有帮助。我的解决方案是直接指向maven编译器插件,通过编辑pom.xml使用所需的java版本:

  <build>
    ...
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>    
  </build> 

现在运行Maven->更新项目,然后您可以在属性->项目facet ->动态Web模块版本中更改servlet版本,或者如前面所写的,通过手动编辑项目的。settings文件夹中的org.eclipse.wst.common.project.facet.core.xml。