是否有一个Maven 2原型可以用于简单的Servlet(2.5)Web应用程序?
是否有一个Maven 2原型可以用于简单的Servlet(2.5)Web应用程序?
有一个用于Web应用程序的原型:
mvn archetype:generate -DgroupId=com.acme \
-DartifactId=my-webapp \
-Dversion=1.0-SNAPSHOT \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
这将生成以下结构:
$ tree my-webapp/ my-webapp/ ├── pom.xml └── src └── main ├── resources └── webapp ├── index.jsp └── WEB-INF └── web.xml其中web.xml是一个Servlet 2.3的web.xml文件:
$ cat my-webapp/src/main/webapp/WEB-INF/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>
对于一个Servlet 2.5的Web应用程序,将其替换为类似以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<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_2_5.xsd"
version="2.5">
<display-name>Archetype Created Web Application</display-name>
</web-app>
我不知道NetBeans如何处理,但是Eclipse(更准确地说是M2Eclipse插件)依赖于 web.xml
来设置项目的特性(所以你需要在导入之前更改 web.xml
,如果你在特性之后更改 web.xml
,Eclipse不会更新Web特性)。
我创建了一个简单的原型,用于创建基于Servlet 3的Web应用程序: https://github.com/maciejwalkowiak/servlet3-maven-archetype
只需克隆它,安装并生成使用Servlet 3的项目,无需XML,Tomcat7准备就绪(包含插件)。
你可以从这里开始
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
如需其他原型列表,请参见原型列表
更新原型编号。
注意:默认情况下,原型“maven-archetype-webapp”生成Servlet 2.3应用程序。如需升级到Servlet 2.5,请参考Pascal Thivent的帖子#1343356。
请参考链接排他性Maven原型列表,并按此链接如何使用该原型进行操作。
常用的原型编号包括:
或者只需使用下面方便的Maven命令-
$ mvn archetype:generate -DgroupId=com.sample -DartifactId=servlet-app -Dversion=0.1-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp
命令: mvn archetype:create -DgroupId=com.lei.webapp.quickstart -DartifactId=webapp-quick-start -DarchetypeArtifactId=maven-archetype-webapp
在pom.xml中添加以下依赖项:
javax.servlet servlet-api 2.5
我让IDE(我的是Intellij IDEA)为我创建基本的Web应用程序结构。
前往:
文件 → 新建项目 → 从原型创建 → ...archetype-webapp
这将提供基本的Web应用程序结构。
mkdir -p my-webapp/src/main/java/com/acme/
,并在该目录中放置一个样例 Helloworld Servlet。 - Leif Gruenwoldt