Java 可以在maven中对依赖项进行分组吗?

Java 可以在maven中对依赖项进行分组吗?,java,maven,Java,Maven,我的目标是创建具有以下布局的分发包(zip): - application.jar - libWebService - web-service.jar - libUtil - guava.jar ... application.jar引用其MANIFEST.MF中单独lib文件夹中的库。这种布局的要点是,依赖项按语义分组,但都是在生成application.jar的模块的pom.xml中定义的普通maven依赖项 有没有一种简单的方法可以与maven建立这种关系 我知道我可以使

我的目标是创建具有以下布局的分发包(zip):

- application.jar
- libWebService
    - web-service.jar
- libUtil
    - guava.jar
...
application.jar
引用其
MANIFEST.MF
中单独lib文件夹中的库。这种布局的要点是,依赖项按语义分组,但都是在生成
application.jar
的模块的
pom.xml
中定义的普通maven依赖项

有没有一种简单的方法可以与maven建立这种关系


我知道我可以使用
maven依赖插件
()及其目标
copy dependencies
,将当前模块的所有依赖项(包括其可传递依赖项)复制到给定的输出文件夹中。使用exclude/include选项,我甚至可以过滤依赖项,通过多次调用插件,我可以创建所需的文件夹结构,尽管这样的解决方案不容易维护。但是这个解决方案仍然缺少
MANIFEST.MF
文件必须引用不同文件夹的功能。
maven jar插件
允许我为整个jar定义一个
classpathPrefix
,但不能为每个依赖项定义一个单独的插件。

您可能想看看maven assembly插件,但通常情况下,Maven并不适合这样做。我会将依赖项分组到单独的项目中,您的主项目最终将依赖这些项目。这样,您将只依赖于三个项目,并且每个项目的构建方式都不同。正如@xea已经说过的,maven assembly插件很可能是将这三个插件合并到主项目中的好选择。