创建你的 web 应用程序项目,运行 mvn archetype:create ,加上参数
artifactId
和 groupId
。 指定
archetypeArtifactId
为
maven-archetype-webapp
。 如此便创建了恰到好处的目录结构和 Maven
POM。
~/examples$ mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch05 \
-DartifactId=simple-webapp \
-DpackageName=org.sonatype.mavenbook \
-DarchetypeArtifactId=maven-archetype-webapp
[INFO] [archetype:create]
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating Archetype: maven-archetype-webapp:RELEASE
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: org.sonatype.mavenbook.ch05
[INFO] Parameter: packageName, Value: org.sonatype.mavenbook
[INFO] Parameter: basedir, Value: ~/examples
[INFO] Parameter: package, Value: org.sonatype.mavenbook
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: artifactId, Value: simple-webapp
[INFO] ********************* End of debug info from resources from generated POM *******
[INFO] Archetype created in dir: ~/examples/simple-webapp
在 Maven Archetype 插件创建好了项目之后,切换目录至 simple-web
后看一下 pom.xml
。 你会看到如下的 XML
文档:
Example 5.1. simple-web 项目的初始 POM
<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>org.sonatype.mavenbook.ch05</groupId> <artifactId>simple-webapp</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>simple-webapp Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>simple-webapp</finalName> </build> </project>
注意 packaging
元素包含的值是 war
。这种打包类型配置让 Maven 以 WAR 文件的形式生成一个 web 应用。一个打包类型为
war
的项目,将会在 target/
目录创建一个
WAR 文件,这个文件的默认名称是
content-zh-0.5.war
。对于这个项目, 默认的
WAR 文件是
target/simple-webapp-1.0-SNAPSHOT.war
。在这个
simple-webapp
项目中,我们已经通过在项目的构建配置中加入
finalName
元素来自定义这个生成的 WAR 文件的名称。根据
simple-webapp
的 finalName
,package
阶段生成的 WAR 文件为
target/simple-webapp.war
。