我有一个多模块 Maven 应用程序。其中一个模块是 EJB 模块,另一个是具有实体、实用程序类等的共享模块。所以当我的客户想要使用我的应用程序时,他/她需要声明 2 个依赖项 -ejb-client.jar
和shared-module.jar
.
我的问题是:是否值得引入新client
模块,它只会收集两个依赖项 -ejb-client
和shared
?所以客户端将只声明一个依赖项 -client
模块,而不是两个。
构建 ejb-client.jar 的模块肯定依赖于构建 share-module.jar 的模块吗?
假设是这种情况,任何客户端只需要依赖 ejb-client.jar 模块,share-module.jar 模块上的依赖关系将被传递。
如果您的客户需要对多个工件的直接依赖关系,最好引入一个 POM 模块来捕获这些依赖关系:
http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html
当然,只有当客户端直接需要依赖项(而不是传递)时,你才需要这个。