我正在使用Maven 3,在我的java项目中,pom文件包含一个源位置,如下所示。
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${JDK}</source>
<target>${JDK}</target>
<excludes>
<!--<exclude>**/**/api/notification/**/INotificationProfileManager.java</exclude> -->
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<version>1.3</version>
<archive>
<manifest>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Class-Path>./MubarsherTradeClasspath-1.0.jar</Class-Path>
<Specification-Vendor>Mubasher</Specification-Vendor>
<Implementation-Vendor>Mubasher</Implementation-Vendor>
<Sealed>false</Sealed>
</manifestEntries>
</archive>
</configuration>
</plugin>
编译后,生成的文件位于.../generate/src/main/java/...
路径中。当声纳分析完成后,它会检查这些生成的类,这些类本身具有../src/main/java/...
路径,因此分析失败。
所以我需要知道如何定义多个源路径来分析声纳?
答案 0 :(得分:10)
你可以使用声纳 - 跑步者来做到这一点。这更有用。
您可以声明两个模块。一个源目录。然后,您必须通过声明属性文件来配置执行。
此文件应如下所示
sonar.projectKey=myproject
sonar.projectName=myprojectname
sonar.projectVersion=version
sonar.sourceEncoding=UTF-8
sonar.modules=normalsource-module, generated-module
normalsource-module.sonar.projectName=Normal Sources Module
normalsource-module.sonar.language=java
normalsource-module.sonar.sources=src/main/java
normalsource-module.sonar.binaries=target/classes
normalsource-module.sonar.projectBaseDir=.
generated-module.sonar.projectName=Generated Sources Module (Java)
generated-module.sonar.language=java
generated-module.sonar.sources=src/main/java
generated-module.sonar.binaries=target/classes
generated-module.sonar.projectBaseDir=.
希望这有帮助,
此致