我尝试使用SonarQube Scanner插件(版本2.5)分析Jenkins中多模块项目的一个模块。不幸的是,Jenkins选择了错误的模块作为工作目录。
在这种特殊情况下,我可以更改模块的顺序,但一般情况下(不止一个已分析的模块)它不起作用。所以我想解决属性sonar.projectBaseDir
的问题,请参阅Advanced SonarQube Scanner Usages:
备用分析目录
如果要分析的文件不在分析开始的目录中,请使用
sonar.projectBaseDir
属性将分析移动到其他目录。例如。分析从jenkins/jobs/myjob/workspace
开始,但要分析的文件位于ftpdrop/cobol/project1
。sonar-project.properties
sonar.projectBaseDir = /家庭/ ftpdrop / COBOL / PROJECT1
sonar.sources = SRC
sonar.cobol.copy.directories = / copy
我尝试了以下方法将sonar.projectBaseDir
属性设置为右侧模块(module2
而不是module1
):
sonar.projectBaseDir
文件中的sonar-project.properties
但它不起作用。 sonar-project.properties
文件中的属性将被忽略。该日志显示该属性已使用JVM选项覆盖:
/Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -X -e -Dsonar.host.url=http://sonarqube:9090 -Dproject.settings=/Users/test/jenkinsslave/workspace/Test/module2/sonar-project.properties -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module1
我认为这是SonarQube Scanner插件中的一个错误,因为project.settings
与sonar.projectBaseDir
不兼容,请参阅Advanced SonarQube Scanner Usages:
属性
project.settings
可用于指定项目配置文件的路径(此选项与project.home
和sonar.projectBaseDir
属性不兼容。)
sonar.projectBaseDir
作为 JVM选项
但它不起作用。该属性被忽略。日志显示该属性已被覆盖:
/Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -X -e -Dsonar.host.url=http://sonarqube:9090 -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module1
sonar.projectBaseDir
as 其他参数
但它不起作用。日志显示该属性配置了两次:
/Users/test/jenkinsslave/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner_2.8/bin/sonar-scanner -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module2 -X -e -Dsonar.host.url=http://sonarqube:9090 -Dsonar.projectBaseDir=/Users/test/jenkinsslave/workspace/Test/module1
我认为这是SonarQube Scanner插件中的一个错误,因为如果已有此选项,则不应添加sonar.projectBaseDir
选项。
答案 0 :(得分:1)
我找到了一个解决方案,我必须将属性public class Test1 {
public static void main(String[] args) {
char[] randChar1 = new char[3];
char[] randChar2 = new char[3];
char sym = '<';
char[] charCombine = new char[6];
System.out.print("The string generated is: ");
for (int i = 0; i < 3; i++) {
Random r = new Random();
randChar1[i] = (char) (65 + r.nextInt(26));
System.out.print(randChar1[i]);
randChar2[i] = (char) (97 + r.nextInt(26));
System.out.print(randChar2[i]);
}
System.out.println();
ArrayList<char[]> al = new ArrayList<>();
al.add(randChar1);
al.add(randChar2);
Sort(al, sym);
}
static void Sort(ArrayList<char[]> al3, char symA) {
}
}
添加为分析属性。
<强>配置:强>
<强>日志:强>
sonar.projectBaseDir