Maven 如何在Sonar服务器中设置多个源位置?

Maven 如何在Sonar服务器中设置多个源位置?,maven,jenkins,hudson,sonarqube,Maven,Jenkins,Hudson,Sonarqube,我使用的是Maven 3,在我的java项目中,pom文件包含一个源位置,如下所示 <build> <sourceDirectory>src/main/java</sourceDirectory> <testSourceDirectory>src/test/java</testSourceDirectory> <plugins> <plugin&g

我使用的是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>

src/main/java
src/test/java
org.apache.maven.plugins
maven编译器插件
${JDK}
${JDK}
org.apache.maven.plugins
maven ejb插件
1.3
真的
真的
./MubarsherTradeClasspath-1.0.jar
游击手
游击手
假的
编译后,生成的文件位于
../generate/src/main/java/..
路径中。当Sonar分析完成后,它会检查这些生成的类,这些类本身具有
。/src/main/java/…
路径,因此分析失败


所以我需要知道如何定义多个源路径,以便从sonar进行分析?

您可以使用sonar runner进行分析。这更有用

您可以声明两个模块。一个源目录。然后必须通过声明属性文件来配置执行

这个文件应该是这样的

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=.
希望这有帮助


关于

您是否也可以提供声纳错误堆栈跟踪?如果您试图分析具有50多个模块的项目,这不是一个好方法。在maven多模块项目中是否有添加源文件夹的通用方法?我想继续使用maven扫描仪而不是声纳扫描仪。这方面有什么改进吗?我也有同样的问题