当前位置: 首页 > 知识库问答 >
问题:

在Eclipse Maven项目中更改动态Web模块版本

张鸿志
2023-03-14

动态Web模块3.1需要Java 1.7或更新版本。

看起来好像什么都没有出问题,但我一定是错过了什么,因为我总是收到这个错误。

下面是my.settings/org.eclipse.wst.common.project.facet.core.xml的内容

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="jst.java"/>
  <fixed facet="jst.web"/>
  <installed facet="jst.java" version="1.6"/>
  <installed facet="jst.web" version="3.0"/>
</faceted-project>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
    </configuration>
</plugin>

在我试图压制这个看似不相关的错误消息时,任何帮助都非常感谢。

编辑:添加了pom.xml内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.XXXXX</groupId>
    <artifactId>XXXXX</artifactId>
    <version>1.0-SNAPSHOT</version>

    <name>XXXXX</name>
    <packaging>war</packaging>
    <url>http://maven.apache.org</url>

    <build>
        <finalName>XXXXX</finalName>

        <plugins>

            <!-- Source level should be 1.6 (not Maven default) for Java EE 6 projects -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <!-- When using xml-less approach, need to disable Maven's warning about 
                missing web.xml -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>

        </plugins>
    </build>
    <dependencies>

        <!-- JUnit testing -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!-- Spring Core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.0.2.RELEASE</version>
        </dependency>

        <!-- Spring MVC -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.0.2.RELEASE</version>
        </dependency>

        <!-- Spring Context without commons-logging -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.0.2.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Spring Security core -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>3.2.1.RELEASE</version>
        </dependency>

        <!-- Spring Security config -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.2.1.RELEASE</version>
        </dependency>

        <!-- Spring Security web -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>3.2.1.RELEASE</version>
        </dependency>

        <!-- jcl-over-slf4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.6</version>
        </dependency>

        <!-- slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.6</version>
        </dependency>

        <!-- slf4j-log4j12 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.6</version>
        </dependency>

        <!-- log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <!-- Need servlet API for compiling the classes. Not needed in runtime -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <!-- Required for xml-less configuration of Spring via @Configuration annotations -->
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>3.1</version>
        </dependency>

        <!-- Required for getting Spring working with Hibernate -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.0.2.RELEASE</version>
        </dependency>

        <!-- Hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.4.Final</version>
        </dependency>

        <!-- For using JPA instead of "pure Hibernate" -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.4.Final</version>
        </dependency>

        <!-- DB connection pooling for production applications -->
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>20030825.184428</version>
        </dependency>

        <!-- Concrete JDBC driver for MySQL DB -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.29</version>
        </dependency>

        <!-- Add Taglib support -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

    </dependencies>

</project>

共有1个答案

萧辰沛
2023-03-14

在我们的项目中,我们添加以更改web.xml元素的声明,从:

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

致:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5" >

可能Eclipse期望它满足不同的Servlet版本规范。在我们的例子中,我们既没有编译问题,也没有运行时问题。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
 类似资料:
  • 我在Eclipse中有一个动态Web项目。使用带有Axis2的Tomcat7。在project facets中,我已经用Dynamic Web Module2.2配置了AXIS2(因为AXIS2不能使用Web Module3.0)。 但是当我尝试使用WebService wizard(new->Web Service)时,Eclipse尝试使用Web模块3.0创建Web服务,忽略origin项目的

  • 但是.settings文件夹包含一个具有以下内容的文件 而且我怀疑这里指定的3.0和其他地方指定的2.5是冲突的。情况可能是这样吗?有什么方法可以使这些设置组合不会导致错误吗?(Eclipse的旧版本)

  • 我有这个问题:无法将project facet Dynamic Web Module的版本更改为3.0 你有主意吗?多谢了。

  • 我正在使用maven在Eclipse中创建一个动态webapp。我添加了一些文件夹,如和。此外,我更改了Java构建路径中的库,以获得JavaSE-1.7。到这里都没问题。 当我试图更改项目方面的动态Web模块时,出现了问题。我在相同的地方将Java修改为1.7。它仍然告诉我,不能将project facet Dynamic Web Module的版本更改为3.0。 我已经改变了所有我认为会改变的

  • 我尝试了stackflow为这个问题提供的所有解决方案,但我面临的是同样的问题。我试着把小面改成3.0,但问题还是一样,可以任何一个帮助我在这方面,请。 我的web.xml

  • 我尝试了几件事,但这个问题仍然存在。我用的是月食开普勒。我在导入maven项目时遇到以下错误 无法安装JavaServer Faces 2.2:未满足一个或多个约束 JavaServer Faces 2.2需要动态Web模块2.5或更新版本 正如您所看到的,我在上面的web.xml中尝试了不同的DTD,但仍然有问题。如有任何提示,我将不胜感激