在jenkins插件中正确设置sonar.sources

在jenkins插件中正确设置sonar.sources,jenkins,sonarqube,Jenkins,Sonarqube,我正在尝试构建一个Android java项目分支:feature-Fprototype_应用程序 我得到这个错误: [INFO] [13:38:36.470] Base dir: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile [INFO] [13:38:36.470] Working dir: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/target/so

我正在尝试构建一个Android java项目分支:feature-Fprototype_应用程序

我得到这个错误:

[INFO] [13:38:36.470] Base dir: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile 
[INFO] [13:38:36.470] Working dir: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/target/sonar 
[INFO] [13:38:36.470] Source dirs: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src 
[INFO] [13:38:36.470] Binary dirs: /Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/target/classes 
[INFO] [13:38:36.470] Source encoding: UTF-8, default locale: en_US 
[INFO] [13:38:36.489] Sensor JavaSourceImporter... 
[INFO] [13:38:36.710] Sensor JavaSourceImporter done: 221 ms 
[INFO] [13:38:36.710] Sensor JavaSquidSensor... 
[INFO] [13:38:36.800] Java AST scan... 
[ERROR] Sonar is unable to analyze file : '/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java/com/simpragma/apps/textify/db/BookmarkDao.java' 
[INFO]
    ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------- 
[INFO] Total time:14.245s 
[INFO] Finished at: Thu Oct 17 13:38:36 GMT+05:30 2013 
[INFO] Final Memory: 14M/102M 
[INFO]
    ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project Textify: Can not execute SonarQube analysis: Sonar is unable to analyze file :

    **'/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java/com/simpragma/apps/textify/db/BookmarkDao.java': The source directory does not correspond to the package declaration** com.simpragma.apps.textify.db -> 
[Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project Textify: Can not execute SonarQube analysis
在jenkins配置构建后操作中我试图在附加属性框中设置
声纳.sources
(因为当我搜索错误时,人们建议为源设置正确的路径)。我尝试了很多组合,比如:

 -Dsonar.sources=mobile/src/main/java
 -Dsonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java
 -Dsonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile
还是一样的错误。 我做错了什么

好的,让我来清理我造成的混乱。首先,这是一个android maven项目。包结构是com.xyz.abc,源根是src/main/java。在pom.xml中,sourceDirectory属性最初设置为指向src。maven似乎对源代码的根没有任何问题,它正在编译项目。 然后,我为这个项目设置了詹金斯和声纳。我用詹金斯的建造后行动对我的项目进行声纳分析。这里的问题是“当使用Maven运行分析时,一些SonarQube属性总是被忽略,因为SonarQube从POM内部提供这些属性”。其中一个属性是声纳。因此,当我在Jenkins设置中尝试使用-Dsonar.sources时,它不起作用。 后来,我修改了pom以指向src/main/java,从而通过jenkins后期构建操作成功地进行了分析


我希望我已经澄清了。

如果您的项目是一个Maven项目,并且您使用的是SonarQube Maven插件,那么源位置取自Maven模型。仅当使用SonarQube Runner执行分析时,才使用sonar.sources属性

查看您的项目pom.xml并进行检查。另外,请更新您的问题,以告知您是否正在进行常规Java项目或其他项目(如android)。

Vikas

对于Java分析,必须指明为Sonar属性的源目录必须是代码中包声明的根目录

见:

问候,,
JP

不工作。我也试过这些:sonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/javasonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src还有,助手文本说使用-D:可选。要传递给mvn可执行文件的其他属性(例如:-Dsome.property=some.value)。有关这些附加属性的详细文档,请参见分析参数。不要在这里使用“sonar.branch”属性,而是使用上面的“branch”选项。在我的pom中,我将src更改为mobile/src。它现在正在工作。好的,我知道你现在正在使用Maven构建。所以你不能改变sonar.sources的值。只需配置您的Maven项目,使Maven源代码为src/main/java。我匆忙地写了上面的评论。实际上,当我在本地将pom.xml中的sourceDirectory设置为mobile/src并运行mvn sonar:sonar命令时,结果在命令提示符下成功,但没有生成报告。
mvn-f mobile/pom.xml sonar:sonar-Dsonar.sources=/Users/Shared/Jenkins/Home/jobs/Textify/workspace/mobile/src/main/java
此命令失败,并出现相同错误。