Maven Java EE配置问题无法解决

时间:2018-10-29 15:36:12

标签: eclipse maven jsf java-ee

我在Eclipse中使用Maven遇到配置问题。标记标签始终显示以下消息:

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

我确实遵循Old Topics1Old Topics2,并尝试通过更改动态Web模块myproject>属性>项目构面>动态Web模块的版本来解决问题。首先,我尝试更改版本,但是Eclipse不允许我这样做。

其次,我尝试更改我的web.xml文件并保存,但是它也不起作用。

这是我的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>
<display-name>Archetype Created Web Application</display-name>
</web-app>

这是我的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.eMy</groupId>
<artifactId>shopping</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>shopping Maven Webapp</name>
<url>http://maven.apache.org</url>

<properties>
    <javaee.version>8.0</javaee.version>
</properties>


<dependencies>

    <!-- JAVA EE API -->
    <!-- https://mvnrepository.com/artifact/javax/javaee-api -->
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>${javaee.version}</version>
        <scope>provided</scope>
    </dependency>


    <!-- jUnit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <plugins>

        <!-- Updating latest version of JAVA -->
        <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>
            </configuration>
        </plugin>
    </plugins>

    <finalName>shopping</finalName>
</build>
</project>

有人可以提出其他解决方案吗?所有帮助将不胜感激。 谢谢。

1 个答案:

答案 0 :(得分:0)

好的,我用不同的方法解决了这个问题,并且确实奏效了。

我的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>
<display-name>Archetype Created Web Application</display-name>
</web-app>

然后我将其更改为;

<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_3_1.xsd"
                    version="3.1">
<display-name>Archetype Created Web Application</display-name>

</web-app>

更改后,我确实保存了myproject> maven>更新项目。

但是要注意版本。它必须与pom.xml和动态Web模块myproject>属性>项目构面>动态Web模块中的版本相同。所以对我来说,所有这些都是3.1。

如果有人遇到相同的问题,希望对您有所帮助。晚上好。