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

时间:2017-03-07 11:57:23

标签: jqassistant

我有一个具有以下结构的多模块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>

还是有更清洁的方法?我必须做其他步骤吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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