我的目标是使用以下布局创建分发包(zip):
- application.jar
- libWebService
- web-service.jar
- libUtil
- guava.jar
...
application.jar
引用其MANIFEST.MF
中单独的lib文件夹中的库。这种布局的要点是,依赖关系在语义上分组,但都是在生成pom.xml
的模块的application.jar
中定义的正常maven依赖关系。
有没有一种简单的方法可以用maven创建这种类型的distrubtion?
我知道我可以使用maven-dependency-plugin
(https://maven.apache.org/plugins/maven-dependency-plugin/)及其目标copy-dependencies
将当前模块的所有依赖项(包括其传递依赖项)复制到给定的输出文件夹中。使用exclude / include选项,我甚至可以过滤依赖项,并且通过多次调用插件,我可以创建所需的文件夹结构,尽管这种解决方案不容易维护。但是这个解决方案仍然缺少MANIFEST.MF
文件必须引用不同文件夹的功能。 maven-jar-plugin
允许我为完整的jar定义一个classpathPrefix
,但不为每个依赖项分别定义一个wp_handle_upload
。