我有一个具有以下结构的多模块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>
还是有更清洁的方法?我必须做其他步骤吗?
答案 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
它似乎不起作用。