maven assembly插件可以选择指定的java包吗?
假设我们的项目中有以下包
org.xxx.dao、org.xxx.service、org.xxx.service.impl
所有包都在源文件夹 src/main/java 中
我可以将包组装到单独的 jar 中吗(xxx-dao.jar、xxx-service.jar、xxx-service-impl.jar)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为此,您可以使用标准
maven-jar-plugin
:这将为您提供一个包含所有内容的 JAR,然后提供多个仅包含所选内容的 JAR,您可以使用 Maven POM 中的分类器来选择这些内容。
如果您想省略默认 JAR(其中包含所有内容),则可以将
替换为default-jar
并添加
元素,因为默认 JAR 包含所有内容,因此您必须删除任何您不想要的内容。You can use the standard
maven-jar-plugin
for this:This gives you one JAR with everything and then several JARs with only the selected content which you can select with a classifier in your Maven POMs.
If you want to omit the default JAR (which contains everything), then you replace one
<id>
with<id>default-jar</id>
and add an<excludes>
element because the default JAR includes everything, so you have to get rid of anything that you don't want.maven- assembly 插件不适用于此类任务,请参阅其功能< /a>.如果您有源代码,那么我建议将它们复制到您项目的模块中。
但是如果你想使用 maven- assembly 插件来做到这一点,那么我认为你可以通过创建单独的 描述符组件并定义要包含在哪个程序集中的文件。您可以定义要包含在 includes 标记中的源文件“nofollow">来源定义。
maven-assembly plugin is not intended for this kind of tasks, see its features. If you have the source codes, then I would suggest copying them into a module of your project.
But if you want to do it with maven-assembly plugin, then I think you can do it by creating separate descriptor components and defining which files to include in which assembly. You can define source files to be included in
includes
tags under sources definition.