您的位置:首页 > 其它

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 war orverlay