<1>被依赖的war项目分别打成JAR和war:
<
plugin
>
<
groupId
>org.apache.maven.plugins
</
groupId
>
<
artifactId
>maven-war-plugin
</
artifactId
>
<
version
>2.4
</
version
>
</
plugin
>
<
plugin
>
<
groupId
>org.apache.maven.plugins
</
groupId
>
<
artifactId
>maven-jar-plugin
</
artifactId
>
<
version
>2.3
</
version
>
<
configuration
>
<
includes
>
<
include
>com/**
</
include
>
</
includes
>
</
configuration
>
<
executions
>
<
execution
>
<
id
>make-a-jar
</
id
>
<
phase
>package
</
phase
>
<
goals
>
<
goal
>jar
</
goal
>
</
goals
>
<
configuration
>
<
classifier
>api
</
classifier
>
</
configuration
>
</
execution
>
</
executions
>
</
plugin
>
<2>引入jar和war包
<!--
引入基础
war
包
-->
<
dependency
>
<
groupId
>com.hnjz
</
groupId
>
<
artifactId
>hnjz-web-basic
</
artifactId
>
<
version
>${hnjz.basic.version}
</
version
>
<
type
>war
</
type
>
</
dependency
>
<
dependency
>
<
groupId
>com.hnjz
</
groupId
>
<
artifactId
>hnjz-web-basic
</
artifactId
>
<
version
>${hnjz.basic.version}
</
version
>
<
type
>jar
</
type
>
<
scope
>compile
</
scope
>
<
classifier
>api
</
classifier
>
</
dependency
>
<3>配置两个war包内容合并
<
plugin
>
<
groupId
>org.apache.maven.plugins
</
groupId
>
<
artifactId
>maven-war-plugin
</
artifactId
>
<
version
>2.6
</
version
>
<
configuration
>
<!--
依赖的
war
项目,默认在
target/war/work
中,然后被打包进
war
文件
,
指定后为
target/work -->
<
workDirectory
>${project.build.directory}/work
</
workDirectory
>
<!--
告诉
maven-war-plugin
另一个路径
"WebContent",
产生的结果就是
,
执行
mvn package
时
,war-plugin
和
warpath-plugin
会将当前
war
和所有依赖的
war
的
web
资源都拷贝到该
WebContent
目录下
.
这样
,WebContent
目录包含的内容就是最终打包成
WAR
的内容了
,如果不指定,
默认情况下是在
target
目录下生成一个
,war
包解压后的文件夹
-->
<!-- <webappDirectory>WebContent</webappDirectory> -->
<
useCache
>false
</
useCache
>
<
archive
>
<
addMavenDescriptor
>true
</
addMavenDescriptor
>
</
archive
>
<
overlays
>
<
overlay
>
<
groupId
>com.hnjz
</
groupId
>
<
artifactId
>hnjz-web-basic
</
artifactId
>
</
overlay
>
<
overlay
>
<!-- empty groupId/artifactId is detected as the current build -->
<!--
代表当前
WAR
项目,默认情况当前
WAR
项目是先被拷贝,如果要控制其顺序,则使用空的
overlay -->
<!-- any other overlay will be applied after the current build since
they have not been configured in the overlays element -->
</
overlay
>
</
overlays
>
<!--
排除依赖
war
包中的哪些文件
<dependentWarExcludes>*/web.xml,WEB-INF/lib/*,/sql-map-config.xml,/jdbc.properties,/META-INF/*</dependentWarExcludes>
-->
<
dependentWarExcludes
>/META-INF/*
</
dependentWarExcludes
>
</
configuration
>
</
plugin
>