在Eclipse中使用Maven创建一个Webapp项目,选择如下archtype类型:
生成的项目结构如下:
默认生成的POM.XML文件如下:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.gof
base-webapp
war
0.0.1-SNAPSHOT
base-webapp Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
javax.servlet
servlet-api
2.5
provided
javax.servlet.jsp
jsp-api
2.1
provided
javax.servlet
jstl
1.2
base-webapp
注意:sevlet-api和jsp-api package dependency的依赖属性scope = provided,因为tomcat容器本身提供了这两个jar包,因此只在编译的时候需要,运行时实际使用tomcat容器的jar包。这两个jar包也不会发布到tomcat中,也不会包含在最后生成的war包中。
如下图,eclipse中publish之后的目录,仅包含其中一个dependency - jstl:
Web Deployment Assembly设置如下:
改写web.xml如下:
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">
Base Java Webapp
A Basic Maven Java Webapp Application
index.jsp
Publish 当前web app到tomcat中,访问如下url:
http://localhost:8080/base-webapp/
页面如下: