Maven shade - 具有自定义配置的repackage依赖jar

时间:2014-03-25 05:31:49

标签: java maven jar maven-shade-plugin

enter image description here

我有一个公共服务,它打包成一个包含所有依赖项的jar。

Consumer1,consumer2,consumer3为Common_service提供不同的配置。 使用所有jar内容重新打包common_service的最佳方法是什么,此外,将配置与它捆绑在一起。

Consumer1上的最终输出将给出:

  • Consumer1-shaded.jar(没有共同服务)
  • Consumer1-Common-service.jar(仅限自定义配置的通用服务)

Consumer2会给出:

  • Consumer2-shaded.jar(不提供普通服务)
  • Consumer2-Common-service.jar(仅限自定义配置的通用服务)

我尝试使用maven shade来重新打包common_service,但是我需要在使用者中明确包含公共服务的所有依赖关系。为什么消费者应该知道常见的服务内容?有没有直接的方法来获取jar,添加配置和重新包装?

1 个答案:

答案 0 :(得分:0)

为了得到你想要的东西,最好的选择是拥有四个maven模块。 common_service模块将不再生成阴影jar,只是一个普通的jar。 consumer_1模块将包含配置文件并将common_service作为依赖项,并将生成带阴影的jar。 consumer_2和consumer_3模块的设置类似于consumer_1模块。