maven-war-plugin参数说明
2016-03-07 09:25
956 查看
配置项说明
archiveClasses配置项
该配置的值为true|
false,默认是
false。表示是否将class进行打包。
正常情况下war类型的工程,java代码编译后的类文件会放到
WEB-INF/classes目录下面,散装。
当该参数配置为
true时,会将所有的class打包为一个jar,jar的名字与war的名字一致(除了后缀)。然后把这个jar放到
WEB-INF/lib目录下,此时
WEB-INF/classes目录下是空的。
attachClasses配置项
该配置的值为true|
false,默认是
false。表示在发布war包的时候是否同时发布一个jar包(只有classes,不包含页面相关文件)。
正常情况下war类型的工程,当我们执行
install或者
deploy的时候build出一个war包,安装到本地或者发布到远程。
当该参数配置为
true时,除了war包外还会多出一个jar包,不过该jar包的classifier默认为classes。
overlays配置节点
overlays配置的作用是,将指定war包中的内容与当前项目进行合并。合并策略:如果存在同名冲突,则使用当前项目中的文件。overlay的具体配置项(include|exclude)可以指定包含或者排除特定模式的文件。
配置示例
以下为一些具体说明:archiveClasses和attachClasses参数可以同时配置为true。此时打包文件中含有lib,不含classes。发布时会同时发布classifier为classes的jar包。
如果当前工程A需要从B工程的war包中合入页面文件,同时代码中也要使用B的类文件。
工程B包含配置如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <attachClasses>true</attachClasses> </configuration> </plugin>
工程A包含配置如下:
<dependencies> <dependency> <groupId>groupB</groupId> <artifactId>B</artifactId> <version>1.0-SNAPSHOT</version> <classifier>classes</classifier> <scope>provided</scope> </dependency> <dependency> <groupId>groupB</groupId> <artifactId>B</artifactId> <version>1.0-SNAPSHOT</version> <type>war</type> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <overlays> <overlay> <groupId>groupB</groupId> <artifactId>B</artifactId> </overlay> </overlays> </configuration> </plugin> </plugins> </build>
相关文章推荐
- maven学习
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- maven使用经验集
- window下安装和配置maven环境
- 使用maven+eclipse搭建struts2开发环境
- Java随手笔记8之包、环境变量和访问控制及maven profile实现多环境打包
- 基于Java的打包jar、war、ear包的作用与区别详解
- maven中下载jar包源码和javadoc的命令介绍
- 表单重复提交处理总结
- Maven私服配置记录 Nexus
- Maven学习笔记
- Maven实战(三)Eclipse构建Maven项目
- maven基本要点
- Maven for Eclipse
- maven 使用 问题记录
- 《Maven权威指南》学习笔记四_创建一个简单的Maven项目
- 《Maven权威指南》学习笔记十七_一个多模块项目 3ff0
- 《Maven权威指南》学习笔记十八_多模块企业级项目 3ff0
- 《Maven权威指南》学习笔记二十_关于POM