在java(maven)项目中管理不同的依赖关系上下文

时间:2014-01-22 22:51:52

标签: maven maven-profiles maven-module

我有一个应用程序,其中所有代码都非常有凝聚力,但在不同的类环境中运行。应用程序使用不同的API以多种方式执行相同的操作。

因此,我希望使用不同的类路径构建运行的不同部分。使用

的优点/缺点是什么?
  • maven submodules

  • maven profiles

要做到这一点吗?

在构建中,我需要将所有代码路径的结果集成到最终测试中 - 因此我无法将此项目分成完全独立的源代码库。

1 个答案:

答案 0 :(得分:0)

据我所知,您的应用程序有一些常见的代码和几个不同的apis。分离代码的独立部分(如apis)的一种方法是创建一个公共项目(子模块)和一些仅依赖于公共项目的api项目(其他子模块)。

如果您需要将所有apis集成到最终测试中,您可以创建另一个项目,该项目将依赖于所有其他项目(包括apis),并且在构建此项目时,会创建一个单独的工件,即企业归档(EAR)包含其中的依赖项目。这可以通过maven ear plugin http://maven.apache.org/plugins/maven-ear-plugin来实现。