Maven:处理真正的循环依赖

Maven:处理真正的循环依赖,maven,circular-dependency,Maven,Circular Dependency,我的情况有些复杂,我不确定设置Maven环境的最佳方法是什么 我正在编写一个框架,允许为特定系统创建测试。该系统可以承载多种应用程序,我对每个应用程序都有一组测试,我希望将其与框架分开(框架处理“测试”的一般概念以及消息发送/接收等)。此外,该框架还提供了一个通用UI,因此可以将其构建为war并进行部署,从而允许您运行和配置测试 我目前正在做的是将框架构建为jar和war,在每个应用程序测试套件中将框架作为依赖项列出,并使用覆盖层引入所有框架代码,以便每个套件都可以构建自己的war进行部署。真恶

我的情况有些复杂,我不确定设置Maven环境的最佳方法是什么

我正在编写一个框架,允许为特定系统创建测试。该系统可以承载多种应用程序,我对每个应用程序都有一组测试,我希望将其与框架分开(框架处理“测试”的一般概念以及消息发送/接收等)。此外,该框架还提供了一个通用UI,因此可以将其构建为war并进行部署,从而允许您运行和配置测试

我目前正在做的是将框架构建为jar和war,在每个应用程序测试套件中将框架作为依赖项列出,并使用覆盖层引入所有框架代码,以便每个套件都可以构建自己的war进行部署。真恶心

我希望能够指定(可能通过概要文件)在框架中构建哪些测试套件,并最终得到一个包含指定套件的framework.war文件。尝试为此构建POM时,我一直遇到循环依赖,因为:

  • 要构建测试,测试项目必须依赖于框架
  • 要引入指定的测试jar,框架必须依赖于这些测试项目
我尝试过的事情:

  • 制作框架的测试套件子项目:
    • 这不起作用,因为(我认为)我不能将最终结果打包为war(仅用于聚合器项目的pom打包)
  • 将test.jar列为系统依赖项:
    • 这是可行的,但必须手动指定jar的路径,这太糟糕了
  • 将测试作为java包放在框架内,并通过过滤器仅编译所需内容:
    • 在技术上是可能的,但我真的更喜欢将逻辑分离到单独的maven项目中,因为每个测试套件也可以配置,并且我希望将所有配置都保留在框架pom之外
理想的情况是,母项目pom将:

  • 编译没有测试的框架
  • 编译指定的测试套件
  • 重建framework.war,包括指定的测试套件jar

  • 我不确定这是否可行和/或是否明智,但对我来说,这似乎是最好的解决方案。提前感谢您为组织此项目提供的任何建议。

    如果我正确理解了问题描述,您可能希望将“框架”和“框架UI”分为单独的模块。测试需要依赖于UI位吗?啊,一个有趣的想法。我需要想一想我是否能做到这一点,但谢谢,我没有想到这一点。