【发布时间】:2010-03-26 03:53:27
【问题描述】:
我有一个类似的项目结构
module-a/src/main/java
module-a/src/main/styles
module-distribution/src/main/assembly
module-distribution 依赖于 module-a,它们共享父 pom 并作为模块包含在该父 pom 中。
这个想法是有一个像这样的装配布局
my-final-assembly/lib
my-final-assembly/styles
其中 lib 目录包含所有项目工件,包括依赖项(即 module-a.jar 及其依赖项 jar),并且 module-a.jar 不应包含其样式目录。样式目录应位于 my-final-assembly/styles 中。
我可以轻松填写lib目录,包括
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
</dependencySet>
在我的程序集文件中。但是 module-a/src/main/styles 呢? 我可以
- 将其包含在 module-a 工件中(它将驻留在 module-a.jar 中)
- 不要将其包含在 module-a.jar 中。
当然,1) 和 2) 都对我无效。在第一种情况下,我必须以某种方式从我的 module-a.jar 中提取样式目录。在第二种情况下,样式目录根本不会被复制,因为只复制工件,而不是整个目标文件夹。
我最后的办法是为样式目录内容创建一个单独的模块,并让 module-a 依赖它,但这对我来说似乎有点矫枉过正。尽管在这种情况下调整我的程序集文件以获得我想要的东西很容易。但是对于单个模块需要的一堆字体和 xmls 的单独模块?那将是可悲的,尽管如果这就是你所说的 Maven 方式,我已经准备好了。
【问题讨论】:
标签: maven-2 maven-assembly-plugin