Maven用eclipse创建web工程 4年前

步骤:

第一步:打开Eclipse,点击菜单【File】【New】【Other】

               找到目录Maven,选择Maven Project,点击【Next】

Maven用eclipse创建web工程

第二步:点击【Next】

Maven用eclipse创建web工程

第三步:

选择一个Archetype。这里创建Web工程,选择maven-archetype-webapp 版本1.0,点击【Next】

Maven用eclipse创建web工程

第四步:填写完Group Id和Artifact Id后,点击【Finish】

Maven用eclipse创建web工程

   将生成一个maven web项目

随后将创建工程。工程结构如下:

Maven用eclipse创建web工程

解决问题


创建后,报几个问题。

这样解决,打开pom.xml,添加以下东东。

1、添加插件

1 <plugin>
 2     <groupId>org.apache.maven.plugins</groupId>
 3     <artifactId>maven-war-plugin</artifactId>
 4     <version>2.6</version>
 5     <configuration>
 6         <failOnMissingWebXml>false</failOnMissingWebXml>
 7     </configuration>
 8 </plugin>
 9 <plugin>
10     <groupId>org.apache.maven.plugins</groupId>
11     <artifactId>maven-compiler-plugin</artifactId>
12     <version>3.1</version>
13     <configuration>
14         <source>1.8</source>
15         <target>1.8</target>
16     </configuration>
17 </plugin>

2、添加serlvet依赖

1 <dependency>
 2     <groupId>javax.servlet</groupId>
 3     <artifactId>javax.servlet-api</artifactId>
 4     <version>3.1.0</version>
 5 </dependency>
 6 <dependency>
 7     <groupId>javax.servlet.jsp</groupId>
 8     <artifactId>javax.servlet.jsp-api</artifactId>
 9     <version>2.3.1</version>
10 </dependency>
11 <dependency>
12     <groupId>javax.servlet</groupId>
13     <artifactId>jstl</artifactId>
14     <version>1.2</version>
15 </dependency>

完整的pom.xml

1 <project xmlns="http://maven.apache.org/POM/4.0.0"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <groupId>com.liyongzhen</groupId>
 6     <artifactId>myweb</artifactId>
 7     <packaging>war</packaging>
 8     <version>0.0.1-SNAPSHOT</version>
 9     <name>myweb Maven Webapp</name>
10     <url>http://maven.apache.org</url>
11     <dependencies>
12         <dependency>
13             <groupId>javax.servlet</groupId>
14             <artifactId>javax.servlet-api</artifactId>
15             <version>3.1.0</version>
16         </dependency>
17         <dependency>
18             <groupId>javax.servlet.jsp</groupId>
19             <artifactId>javax.servlet.jsp-api</artifactId>
20             <version>2.3.1</version>
21         </dependency>
22         <dependency>
23             <groupId>javax.servlet</groupId>
24             <artifactId>jstl</artifactId>
25             <version>1.2</version>
26         </dependency>
27         <dependency>
28             <groupId>junit</groupId>
29             <artifactId>junit</artifactId>
30             <version>3.8.1</version>
31             <scope>test</scope>
32         </dependency>
33     </dependencies>
34     <build>
35         <finalName>myweb</finalName>
36         <plugins>
37             <plugin>
38                 <groupId>org.apache.maven.plugins</groupId>
39                 <artifactId>maven-war-plugin</artifactId>
40                 <version>2.6</version>
41                 <configuration>
42                     <failOnMissingWebXml>false</failOnMissingWebXml>
43                 </configuration>
44             </plugin>
45             <plugin>
46                 <groupId>org.apache.maven.plugins</groupId>
47                 <artifactId>maven-compiler-plugin</artifactId>
48                 <version>3.1</version>
49                 <configuration>
50                     <source>1.8</source>
51                     <target>1.8</target>
52                 </configuration>
53             </plugin>
54         </plugins>
55     </build>
56 </project>

3、更新这个工程

Maven用eclipse创建web工程

右击工程名,在弹出的菜单中选择【Maven】【Upadte Project】

Maven用eclipse创建web工程

点击【OK】

到此项目创建完成,可以运行。

Maven用eclipse创建web工程

右击工程名,在弹出的菜单中选择【Run As】【Run on Server】

Maven用eclipse创建web工程

点击【Next】

Maven用eclipse创建web工程

最后点击【Finish】

运行效果

Maven用eclipse创建web工程


调整Servlet版本

当前主流Servlet开发或者说主流Java Web开发,Servlet的版本是3.1。(Servlet 4.0还未被大量采用)。

我们在添加依赖时,Servlet版本也是3.1,而maven工程创建时Servlet是2.3

Maven用eclipse创建web工程

右击工程名,在弹出的菜单中选择【Properties】

Maven用eclipse创建web工程

弹出对话框,选择【Project Facets】

Maven用eclipse创建web工程

找到 Dynamice Web Module,去掉前面勾选

Maven用eclipse创建web工程

将Serlvet版本更改为3.1,再点击【Apply】

Maven用eclipse创建web工程

再将Dynamice Web Module勾选上去。

Maven用eclipse创建web工程

最后点击【Apply and Close】

再看,更新过来。

Maven用eclipse创建web工程


如果有web.xml,可能是这样的

1 <!DOCTYPE web-app PUBLIC
2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3  "http://java.sun.com/dtd/web-app_2_3.dtd" >
4  
5 <web-app>
6   <display-name>Archetype Created Web Application</display-name>
7 </web-app>

这是Servlet2.3。需要换成Servlet3.1命名空间。

下面是Servlet3.1命名空间。将web.xml改成下面一样的命名空间。

1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3 xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 5 id="WebApp_ID" version="3.1">
 6   <display-name>myweb</display-name>
 7   <welcome-file-list>
 8     <welcome-file>index.jsp</welcome-file>
 9   </welcome-file-list>
10 </web-app>
菜菜的鸟
东隅已逝,桑榆非晚。
3
发布数
1
关注者
5866
累计阅读

热门教程文档

Typescript
31小节
10.x
88小节
Python
76小节
React Native
40小节
Djiango
17小节
广告