maven-war-plugin的使用

[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

<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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值