正确新建maven Dynamic web 项目
转自: http://blog.****.net/ahau10/article/details/51232406
下面给大家讲讲如何正确地新建maven工程,以及为什么不能转成Dynamic web module3.0。
假设大家对eclipse都比较熟悉了,话不多说,请看图:
过滤器里输入web。我们要新建一个web工程。
新生成的工程默认的jdk和compiler是1.5的。而且没有src/main/Java这样的目录。web.xml里也是2.3的。所以我们第一件事是修改web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
- http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- id="WebApp_ID" version="3.1">
- <display-name>Archetype Created Web Application</display-name>
- </web-app>
再次打开这个页面,把这两项勾选上,然后点击Further ocnfiguration available
把默认的编译路径remove掉(这个路径不正确,必须删掉,不然报错)。
换成src/main/java和src/main/resources. 输出路径改为target/classes
这一步结束后,我们的src/main/java目录也自动出现了。
最后就是这个样子的。点击Next
这一步不改成src/main/webapp。默认会生成一个WebContent目录。WebContent目录里的内容跟webapp重复了。我们用webapp即可。
效果图:
再看一下编译路径,很好。是我们要的效果。
JDK也是JavaSE-1.8,是我们要的效果。注意是JDK不是JRE。不要选成JRE
编译器也是1.8的。好的很
但是当我们maven>>update project以后
项目报错了 Dynamic Module 3.1 requires Java 1.7 or newer
JDK又变成一开始默认的1.5了。 这是因为POM.xml里没有配置。
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
然后在maven>>update project 错误解决了。
最后把编码格式也设置一下,不然有中文的话编译可能会报错。
完整的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.****</groupId>
- <artifactId>mvn9</artifactId>
- <packaging>war</packaging>
- <version>0.0.1-SNAPSHOT</version>
- <name>mvn9 Maven Webapp</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <finalName>mvn9</finalName>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <!-- <plugin> -->
- <!-- <artifactId>maven-war-plugin</artifactId> -->
- <!-- <version>2.4</version> -->
- <!-- </plugin> -->
- </plugins>
- </build>
- </project>
最后,再来看一下部署路径有没有问题。很好,是我们要的效果。
这样一个新的maven工程就建好了,总结一下:
1.出现Cannot change version of project facet Dynamic web module to 3.0
的原因是我们的web.xml里写错了。从根源上解决问题。
2.maven>>update project之后,jdk和compiler变成了默认的1.5。所以要在pom.xml里配置一下。 不然会报
Dynamic Web Module 3.1 requires Java 1.7 or newer
3.maven compile 编译的时候报编码的错误。所以要在pom.xml里配置一下project.build.sourceEncoding。
转自: http://blog.****.net/ahau10/article/details/51232406
下面给大家讲讲如何正确地新建maven工程,以及为什么不能转成Dynamic web module3.0。
假设大家对eclipse都比较熟悉了,话不多说,请看图:
过滤器里输入web。我们要新建一个web工程。
新生成的工程默认的jdk和compiler是1.5的。而且没有src/main/Java这样的目录。web.xml里也是2.3的。所以我们第一件事是修改web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
- http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- id="WebApp_ID" version="3.1">
- <display-name>Archetype Created Web Application</display-name>
- </web-app>
再次打开这个页面,把这两项勾选上,然后点击Further ocnfiguration available
把默认的编译路径remove掉(这个路径不正确,必须删掉,不然报错)。
换成src/main/java和src/main/resources. 输出路径改为target/classes
这一步结束后,我们的src/main/java目录也自动出现了。
最后就是这个样子的。点击Next
这一步不改成src/main/webapp。默认会生成一个WebContent目录。WebContent目录里的内容跟webapp重复了。我们用webapp即可。
效果图:
再看一下编译路径,很好。是我们要的效果。
JDK也是JavaSE-1.8,是我们要的效果。注意是JDK不是JRE。不要选成JRE
编译器也是1.8的。好的很
但是当我们maven>>update project以后
项目报错了 Dynamic Module 3.1 requires Java 1.7 or newer
JDK又变成一开始默认的1.5了。 这是因为POM.xml里没有配置。
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
然后在maven>>update project 错误解决了。
最后把编码格式也设置一下,不然有中文的话编译可能会报错。
完整的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.****</groupId>
- <artifactId>mvn9</artifactId>
- <packaging>war</packaging>
- <version>0.0.1-SNAPSHOT</version>
- <name>mvn9 Maven Webapp</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <finalName>mvn9</finalName>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <!-- <plugin> -->
- <!-- <artifactId>maven-war-plugin</artifactId> -->
- <!-- <version>2.4</version> -->
- <!-- </plugin> -->
- </plugins>
- </build>
- </project>
最后,再来看一下部署路径有没有问题。很好,是我们要的效果。
这样一个新的maven工程就建好了,总结一下:
1.出现Cannot change version of project facet Dynamic web module to 3.0
的原因是我们的web.xml里写错了。从根源上解决问题。
2.maven>>update project之后,jdk和compiler变成了默认的1.5。所以要在pom.xml里配置一下。 不然会报
Dynamic Web Module 3.1 requires Java 1.7 or newer
3.maven compile 编译的时候报编码的错误。所以要在pom.xml里配置一下project.build.sourceEncoding。