AI智能
改变未来

dynamic web module项目报错Dynamic Web Module 3.0 requi

起因:今天使用maven创建web项目的时候发现项目上老是有个红X,错误如下图所示,虽然项目能正常运行起来,但是LZ的强迫症发作,不弄掉就觉得心里不舒服,于是上网查了攻略,几经周折最终大功告成,现在就把我的解决方法记录下来,防止以后再次发生。

 

 

解决步骤:

1.打开web.xml文件

把头部中2.3

<?xml version=\"1.0\" encoding=\"UTF-8\"?><web-app xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"    xmlns=\"http://java.sun.com/xml/ns/javaee\" xmlns:web=\"http://java.sun.com/xml/ns/javaee/web-app_2_3.xsd\"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_3.xsd\"    id=\"WebApp_ID\" version=\"2.3\">

改为3.0

<?xml version=\"1.0\" encoding=\"UTF-8\"?><web-app xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"    xmlns=\"http://java.sun.com/xml/ns/javaee\" xmlns:web=\"http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd\"    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd\"    id=\"WebApp_ID\" version=\"3.0\">

 

2.关闭eclipse   打开项目.settings目录下的org.eclipse.jdt.core.prefs

eclipse.preferences.version=1org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabledorg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5org.eclipse.jdt.core.compiler.compliance=1.5org.eclipse.jdt.core.compiler.problem.assertIdentifier=errororg.eclipse.jdt.core.compiler.problem.enumIdentifier=errororg.eclipse.jdt.core.compiler.problem.forbiddenReference=warningorg.eclipse.jdt.core.compiler.source=1.5

把1.5改为1.7

eclipse.preferences.version=1org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabledorg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7org.eclipse.jdt.core.compiler.compliance=1.7org.eclipse.jdt.core.compiler.problem.assertIdentifier=errororg.eclipse.jdt.core.compiler.problem.enumIdentifier=errororg.eclipse.jdt.core.compiler.problem.forbiddenReference=warningorg.eclipse.jdt.core.compiler.source=1.7

 

3.打开org.eclipse.wst.common.component

<?xml version=\"1.0\" encoding=\"UTF-8\"?><project-modules id=\"moduleCoreId\" project-version=\"1.5.0\">    <wb-module deploy-name=\"test\">        <wb-resource deploy-path=\"/\" source-path=\"/target/m2e-wtp/web-resources\"/>        <wb-resource deploy-path=\"/\" source-path=\"/src/main/webapp\" tag=\"defaultRootSource\"/>        <wb-resource deploy-path=\"/WEB-INF/classes\" source-path=\"/src/main/java\"/>        <wb-resource deploy-path=\"/WEB-INF/classes\" source-path=\"/src/main/resources\"/>        <property name=\"context-root\" value=\"test\"/>        <property name=\"java-output-path\" value=\"/test/target/classes\"/>    </wb-module></project-modules>

将1.5.0改为1.7.0

<?xml version=\"1.0\" encoding=\"UTF-8\"?><project-modules id=\"moduleCoreId\" project-version=\"1.7.0\">    <wb-module deploy-name=\"test\">        <wb-resource deploy-path=\"/\" source-path=\"/target/m2e-wtp/web-resources\"/>        <wb-resource deploy-path=\"/\" source-path=\"/src/main/webapp\" tag=\"defaultRootSource\"/>        <wb-resource deploy-path=\"/WEB-INF/classes\" source-path=\"/src/main/java\"/>        <wb-resource deploy-path=\"/WEB-INF/classes\" source-path=\"/src/main/resources\"/>        <property name=\"context-root\" value=\"test\"/>        <property name=\"java-output-path\" value=\"/test/target/classes\"/>    </wb-module></project-modules>

 

4.打开org.eclipse.wst.common.project.facet.core.xml

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

将1.5改为1.7    2.3改为3.0

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

 

此时重新打开eclipse,一般人到这个时候红xx已经解决了,但是LZ打开一看红x竟然还在,心拔凉拔凉的,没办法,生活还是要继续,于是LZ又继续找啊找,又被我找到个方法

5.在pom.xml中增加一段代码

    <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>3.3</version>                <configuration>                    <!-- 指定source和target的版本 -->                    <source>1.7</source>                    <target>1.7</target>                </configuration>            </plugin>        </plugins>

 

此时红x依旧在,哭死,感觉生活没了希望。最后右击项目 Maven -> Update Project 红x居然消失了,真开心,虽然不知道什么原理,但是先记录一下,以防以后又出现这种请款。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » dynamic web module项目报错Dynamic Web Module 3.0 requi