如何在具有与模块并行存储的父项的多模块项目中使用 jqassistent?

How to use jqassistent in a multi-module project with a parent which is stored parallel to the module?

我有一个具有以下结构的多模块 maven 项目

myProject
  + parent
      - pom.xml
  + moduleA
      - pom.xml
  + moduleB
      - pom.xml

我会像在一个简单的项目中那样在父目录中配置 jqassistant。但我想,它不会找到任何 类。我真的必须用

再次声明所有模块引用吗?
<scanIncludes>
    <scanInclude>
        <path>../moduleA/target/classes</path>
        <scope>java:classpath</scope>
    </scanInclude>
</scanIncludes>

或者有更简洁的方法吗?我必须执行额外的步骤吗?

如果您的模块(即 moduleA 和 moduleB)通过其 pom.files 的父元素引用父元素,则在插件部分声明 jQAssistant Maven 插件就足够了。多模块项目的例子可以参考https://github.com/buschmais/extended-objects/.

无需特殊扫描包含。但是,有必要将 jqassistant.useExecutionRootAsProjectRoot 设置为 true。这可以通过 属性 -Djqassistant.useExecutionRootAsProjectRoot 或 pom.xml 配置部分中的 <useExecutionRootAsProjectRoot>true</useExecutionRootAsProjectRoot> 来完成。如果您直接 运行 一个 jquasssitant 目标,例如 jqassistant:server 您必须设置系统 属性。 如果您经常使用 mvn clean install,那么将 neo4j 数据库存储在目标目录之外很重要。否则最后一次清理将失败。您可以使用 <storeDirectory>${project.build.directory}/../../store</storeDirectory> 实现此目的。使用 -DstoreDirectory 它似乎不起作用。