【发布时间】:2014-01-21 20:54:23
【问题描述】:
我希望我的 ModuleTypeA 战争将 ModuleBase 作为依赖项与 'src/main/java/typeA' 包排除在外,类似地 ModuleTypeB 战争将 ModuleBase 作为依赖项与 'src/main/java/typeB' 包排除在外。
这是我的项目结构:
ModuleBase
|
|----> src/main/java/base
|----> src/main/java/typeA
|----> src/main/java/typeB
|----> pom.xml
ModuleTypeA
|
|----> src/main/java/..
|----> pom.xml
ModuleTypeB
|
|----> src/main/java/..
|----> pom.xml
我是 Maven 新手,不知道如何实现。 ModuleBase 不能是父项目,因为我需要为此构建一个 jar(不能有包装类型 pom),所以我可以创建一个顶级父项目。
欢迎提出任何建议。
谢谢
【问题讨论】:
-
为什么你的 ModuleBase 中有 typeA 的代码? AFAIK 您只能在项目级别排除包,因此 ModuleBase 必须排除 typeA 但随后它将被排除在所有项目中,具体取决于 ModuleBase。但问题是为什么在基础中有特定的代码?
-
ModuleBase 中的代码是与基础设施相关的代码,我不想与 ModuleTypeA 中的其他应用程序级代码混合。是的,我知道项目级别的排除项,但这不符合这里的目的。
-
您可以将代码从 ModuleBase/../typeA 移动到单独的项目并引用它。