Maven War plugin提供了overlays功能,overlays提供了多个web应用程序共享资源的途径。通过overlays,可以通过包依赖实现个性化定制开发,而不是直接在已有成熟软件的源码下进行个性化定制开发。
overlays 样例
假设当前正在构建的项目documentedproject有如下结构
|-- pom.xml
`-- src
`-- main
|-- java
| `-- com
| `-- example
| `-- projects
| `-- SampleAction.java
|-- resources
| |-- images
| | `-- sampleimage.jpg
| `-- sampleresource
`-- webapp
|-- WEB-INF
| `-- web.xml
|-- index.jsp
`-- jsp
`-- websource.jsp
该项目依赖于另一个war包documentedprojectdependency-1.0-SNAPSHOT.war
...
<dependencies>
<dependency>
<groupId>com.example.projects</groupId>
<artifactId>documentedprojectdependency</artifactId>
<version>1.0-SNAPSHOT</version>
<type>war</type>
<scope>runtime</scope>
</dependency>
...
</dependencies>
...
该war包依赖有如下结构
documentedprojectdependency-1.0-SNAPSHOT.war
|-- META-INF
| |-- MANIFEST.MF
| `-- maven
| `-- com.example.projects
| `-- documentedprojectdependency
| |-- pom.properties
| `-- pom.xml
|-- WEB-INF
| |-- classes
| | |-- com
| | | `-- example
| | | `-- projects
| | | `-- SampleActionDependency.class
| | `-- images
| | `-- sampleimage-dependency.jpg
| `-- web.xml
`-- index-dependency.jsp
当前构建的项目documentedproject最后生成的war包将会有如下结构
|-- META-INF
| |-- MANIFEST.MF
| `-- maven
| `-- com.example.projects
| `-- documentedproject
| |-- pom.properties
| `-- pom.xml
|-- WEB-INF
| |-- classes
| | |-- com
| | | `-- example
| | |
版权声明:本文为skyupward原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。