Gradle多项目构建发布到maven,如何打包成单个库?

工程结构简化如下:

server
|-- client
|   |-- src
|   `-- build.gradle
|-- common
|   |-- src
|   `-- build.gradle
|-- src
|-- build.gradle
`-- settings.gradle

共有三个项目,分别是:

  • server,服务端程序,spring web;
  • client,提供给客户端集成的sdk,打包成jar发布到maven;
  • common,公共部分,比如DTO等。

server和client分别依赖common。

在打包发布client时发现结果和预期不一致,现在的情况是client库打包了自己的class文件,然后在生成的pom中显式依赖了common,这就需要将common单独打包后也发布到maven。

而我希望的是client直接将common编译出的class文件也打包到自己的jar内部,形成单个库发布到maven。

不知道我这种想法合理吗?gradle应该如何配置?望各位大神不吝赐教。

阅读 2.2k
1 个回答

当然不合理,jar包本身就应该只包含你自己的class

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题