0

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

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

4

2 回答 2

0

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

于 2017-03-17T17:44:55.533 回答
0

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

于 2017-03-07T12:56:53.603 回答