[b]插件介绍[/b]
此插件能够收集web应用所有的依赖,类和资源文件,然后把它们打包归档
[b]使用[/b]
这里有四种方式来使用
[list]
[*]在package阶段使用,同时项目打包的类型为war
[*]war:war目标调用
[*]war:exploded目标调用
[*]war:inplace目标调用
[/list]
注意:当使用war:目标时,有个前提是编译阶段已经完成,因为本身不会编译java代码和复制资源文件
[b]在package阶段使用,同时项目打包的类型为war/war:war目标调用[/b]
这是最常用的使用方式,为了说明,下面贴出pom.xml
项目的结构看起来像这样
调用
或者
将会生成war在[b]target/documentedproject-1.0-SNAPSHOT.war[/b],下面贴出war的内容
[b]war:exploded目标调用[/b]
在开发阶段为了加快测试,[b]war:exploded[/b]可以生成已经展开(解压)的WAR,下面是调用的方式
将会在[b]target/documentedproject-1.0-SNAPSHOT[/b]生成带版本的展开(解压)的WAR文件,.目录的内容看起来像这样。
展开(解压)的WAR默认目录是[b]target/<finalName>[/b],这个[b]finalName[/b]通常的形式是[b]<artifactId>-<version>[/b]。可以修改[b]webappDirectory [/b]参数来覆盖WAR默认目录
[b]war:inplace目标调用[/b]
[b]war:exploded[/b]的变化是[b]war:inplace[/b]。当用[b]war:inplace[/b]时,展开(解压)的WAR目录是在[b]webapp[/b]中,默认是[b]src/main/webapp[/b]。调用方式如下:
结果如下所示
参考链接
[url]http://maven.apache.org/plugins/maven-war-plugin/index.html[/url]
此插件能够收集web应用所有的依赖,类和资源文件,然后把它们打包归档
[b]使用[/b]
这里有四种方式来使用
[list]
[*]在package阶段使用,同时项目打包的类型为war
[*]war:war目标调用
[*]war:exploded目标调用
[*]war:inplace目标调用
[/list]
注意:当使用war:目标时,有个前提是编译阶段已经完成,因为本身不会编译java代码和复制资源文件
[b]在package阶段使用,同时项目打包的类型为war/war:war目标调用[/b]
这是最常用的使用方式,为了说明,下面贴出pom.xml
<project>
...
<groupId>com.example.projects</groupId>
<artifactId>documentedproject</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Documented Project</name>
<url>http://example.com</url>
...
</project>
项目的结构看起来像这样
|-- pom.xml
`-- src
`-- main
|-- java
| `-- com
| `-- example
| `-- projects
| `-- SampleAction.java
|-- resources
| `-- images
| `-- sampleimage.jpg
`-- webapp
|-- WEB-INF
| `-- web.xml
|-- index.jsp
`-- jsp
`-- websource.jsp
调用
mvn package
或者
mvn compile war:war
将会生成war在[b]target/documentedproject-1.0-SNAPSHOT.war[/b],下面贴出war的内容
documentedproject-1.0-SNAPSHOT.war
|-- META-INF
| |-- MANIFEST.MF
| `-- maven
| `-- com.example.projects
| `-- documentedproject
| |-- pom.properties
| `-- pom.xml
|-- WEB-INF
| |-- classes
| | |-- com
| | | `-- example
| | | `-- projects
| | | `-- SampleAction.class
| | `-- images
| | `-- sampleimage.jpg
| `-- web.xml
|-- index.jsp
`-- jsp
`-- websource.jsp
[b]war:exploded目标调用[/b]
在开发阶段为了加快测试,[b]war:exploded[/b]可以生成已经展开(解压)的WAR,下面是调用的方式
mvn compile war:exploded
将会在[b]target/documentedproject-1.0-SNAPSHOT[/b]生成带版本的展开(解压)的WAR文件,.目录的内容看起来像这样。
documentedproject-1.0-SNAPSHOT
|-- META-INF
|-- WEB-INF
| |-- classes
| | |-- com
| | | `-- example
| | | `-- projects
| | | `-- SampleAction.class
| | `-- images
| | `-- sampleimage.jpg
| `-- web.xml
|-- index.jsp
`-- jsp
`-- websource.jsp
展开(解压)的WAR默认目录是[b]target/<finalName>[/b],这个[b]finalName[/b]通常的形式是[b]<artifactId>-<version>[/b]。可以修改[b]webappDirectory [/b]参数来覆盖WAR默认目录
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
[b]war:inplace目标调用[/b]
[b]war:exploded[/b]的变化是[b]war:inplace[/b]。当用[b]war:inplace[/b]时,展开(解压)的WAR目录是在[b]webapp[/b]中,默认是[b]src/main/webapp[/b]。调用方式如下:
mvn compile war:inplace
结果如下所示
|-- pom.xml
|-- src
| `-- main
| |-- java
| | `-- com
| | `-- example
| | `-- projects
| | `-- SampleAction.java
| |-- resources
| | `-- images
| | `-- sampleimage.jpg
| `-- webapp
| |-- META-INF
| |-- WEB-INF
| | |-- classes
| | | |-- com
| | | | `-- example
| | | | `-- projects
| | | | `-- SampleAction.class
| | | `-- images
| | | `-- sampleimage.jpg
| | `-- web.xml
| |-- index.jsp
| `-- jsp
| `-- websource.jsp
`-- target
`-- classes
|-- com
| `-- example
| `-- projects
| `-- SampleAction.class
`-- images
`-- sampleimage.jpg
参考链接
[url]http://maven.apache.org/plugins/maven-war-plugin/index.html[/url]