Java 用于客户端使用的单独模块

Java 用于客户端使用的单独模块,java,maven,Java,Maven,我有一个多模块maven应用程序。其中一个模块是EJB模块,另一个是带有实体、实用程序类等的共享模块。因此,当我的客户端想要使用我的应用程序时,他/她需要声明两个依赖项—EJB client.jar和shared module.jar 我的问题是:是否值得引入新的客户机模块,这些模块只需收集两个依赖项--ejb客户机和共享?因此,客户端将只声明一个依赖项-客户端模块,而不是两个。构建ejb-client.jar的模块肯定对构建share-module.jar的模块有依赖项吗 假设是这样,任何客户

我有一个多模块maven应用程序。其中一个模块是EJB模块,另一个是带有实体、实用程序类等的共享模块。因此,当我的客户端想要使用我的应用程序时,他/她需要声明两个依赖项—
EJB client.jar
shared module.jar


我的问题是:是否值得引入新的
客户机
模块,这些模块只需收集两个依赖项--
ejb客户机
共享
?因此,客户端将只声明一个依赖项-
客户端
模块,而不是两个。

构建ejb-client.jar的模块肯定对构建share-module.jar的模块有依赖项吗


假设是这样,任何客户机只需要依赖于ejb-client.jar模块,share-module.jar模块上的密度将通过传递方式获取。

如果您的客户机需要直接依赖于多个工件,最好引入一个POM模块来捕获这些依赖性:


当然,只有当客户机直接需要依赖项(而不是传递依赖项)时,您才需要它。

为什么客户机必须声明这两个依赖项?ejb客户机是否使用共享模块,因此客户机将以传递方式获得该依赖关系?如果客户机需要
shared
中的类,那么它们可能应该放在
ejb客户机
JAR中,或者从同一个容器中以传递方式引用?