我在使用多个模块的Java项目中使用maven设置SonarQube分析时遇到了麻烦。我对maven和sonar知之甚少。
我们的项目结构:
parent-module
|-- module-1
| |-- src
| | |-- main
| | |-- test
| |-- pom.xml
|
|-- module-2
| |-- src
| | |-- main
| | |-- test
| |-- pom.xml
|
|-- module-3
| |-- src
| | |-- main
| | |-- test
| |-- pom.xml
|
|-- module-4
| |-- src
| | |-- main
| | |-- test
| |-- pom.xml
|-- pom.xml
我将此配置文件添加到settings.xml:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
https://our.server.com:9000
</sonar.host.url>
</properties>
</profile>
我将这些属性添加到父模块pom.xml :(我尝试了很多不同的属性,但这些是我目前拥有的属性)
<properties>
<sonar.login>ourLoginKey</sonar.login>
<sonar.projectName>ourProjectName</sonar.projectName>
<sonar.modules>module1,module2,module3,module4</sonar.modules>
<module1.sonar.sources>src/main/java</module1.sonar.sources>
<module1.sonar.tests>src/test/java</module1.sonar.tests>
<module1.sonar.projectBaseDir>.</module1.sonar.projectBaseDir>
<module2.sonar.sources>src/main/java</module2.sonar.sources>
<module2.sonar.tests>src/test/java</module2.sonar.tests>
<module2.sonar.projectBaseDir>.</module2.sonar.projectBaseDir>
<module3.sonar.sources>src/main/java</module3.sonar.sources>
<module3.sonar.tests>src/test/java</module3.sonar.tests>
<module3.sonar.projectBaseDir>.</module3.sonar.projectBaseDir>
<module4.sonar.sources>src/main/java</module4.sonar.sources>
<module4.sonar.tests>src/test/java</module4.sonar.tests>
<module4.sonar.projectBaseDir>.</module4.sonar.projectBaseDir>
</properties>
我无法让它发挥作用。要么我收到此错误消息:
文件X无法索引两次。请检查包含/排除模式 为主文件和测试文件生成不相交的集合 或者它试图在另一个模块中搜索一个模块,这根本不符合逻辑。
我希望你能跟着我,原谅我的,也许是愚蠢的问题。