【问题标题】:How to specify the compile order for a multi-module project in Intellij Idea?Intellij Idea中如何指定多模块项目的编译顺序?
【发布时间】:2014-12-15 11:39:23
【问题描述】:

我有一个多模块项目,模块之间有测试依赖关系。

布局:

  • 主模块 - 具有依赖于通用搜索模块中的 AbstractTestHelper 的 SpecialsTableQueryBuilderTest
  • 通用搜索 - 有 AbstractTestHelper

问题是:当我运行“制作项目”SpecialsTableQueryBuilderTest 类时,它抱怨它“找不到符号,符号:类 AbstractTestHelper”。

我尝试在模块设置中,为主模块、依赖项选项卡将通用搜索模块向上移动,但没有帮助。

我在同一个依赖项选项卡上尝试的另一件事是将通用搜索模块中测试类(“/target/test-classes”)的文件夹输出添加为依赖项

我该怎么做才能让我的项目设置看到 AbstractTestHelper 类?

【问题讨论】:

    标签: java testing intellij-idea ide multi-module


    【解决方案1】:

    我建议尝试运行感兴趣的测试,而不是尝试一次构建一个项目。这将构建该类及其依赖的所有内容(通常是一些您并不真正需要的类),但它会为您完成所有这些。

    如果您尝试将一个测试模块中的类包含到另一个测试模块中,则需要将其导出,因为这不是 maven 项目默认的工作方式。您还可以让 maven 将其测试构建到一个额外的 jar 中,您可以将其作为依赖项包含在内。

    这里是关于如何构建测试 JAR http://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html的说明

    【讨论】:

    • 感谢您的回答,最后我只是将 required-module/target/test-classes 编译的类添加到我的依赖项列表中。
    • 这不是问题的答案。
    • @PhilipRego 它试图解决问题。如果您有答案,请添加。
    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多