Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声纳中的球体-project.properties_Java_Sonarqube_Glob - Fatal编程技术网

Java 声纳中的球体-project.properties

Java 声纳中的球体-project.properties,java,sonarqube,glob,Java,Sonarqube,Glob,我正在从事一个大型遗留项目,我正试图将其组件化,从SonarQube开始。我正在sonar project.properties中配置一个多模块项目。这个很好用。但是,我在准确识别源文件夹时遇到了一个问题 不幸的是,我们的模块在文件系统中没有整齐地分开。该项目被分成许多Eclipse项目,几个Eclipse项目一起构成一个模块。当然,我可以列举所有的项目,但这是非常麻烦的,因为有很多项目。以下是我们的目录结构的(简化)版本: projects/ moduleAsubmodule1/

我正在从事一个大型遗留项目,我正试图将其组件化,从SonarQube开始。我正在
sonar project.properties
中配置一个多模块项目。这个很好用。但是,我在准确识别源文件夹时遇到了一个问题

不幸的是,我们的模块在文件系统中没有整齐地分开。该项目被分成许多Eclipse项目,几个Eclipse项目一起构成一个模块。当然,我可以列举所有的项目,但这是非常麻烦的,因为有很多项目。以下是我们的目录结构的(简化)版本:

projects/
    moduleAsubmodule1/
        src/
            com/mycompany/moduleA/submodule1/
    moduleAsubmodule2/
        src/
            com/mycompany/moduleA/submodule2/
    moduleBsubmodule1/
        src/
            com/mycompany/moduleB/submodule1/
    moduleBsubmodule2/
        src/
            com/mycompany/moduleB/submodule2/
    moduleBsubmodule3/
        src/
            com/mycompany/moduleB/submodule3/
想象更多的模块和子模块,其中项目名称连接在一起,但包名称被很好地划分,从而更容易区分这些模块和子模块

moduleA.sonar.projectBaseDir=.
moduleA.sonar.sources=projects/**/src/com/mycompany/moduleA/**/*
moduleA.sonar.test=projects/**/*.test/src/com/mycompany/moduleA/**/*
根据法律,这应该可以排除在外。但是,我收到以下错误消息:

16:10:44 ERROR: Unable to execute Sonar
16:10:44 ERROR: Caused by: The folder 'projects/**/src/com/mycompany/mymodule/**/*' does not exist for 'XXX:XXX:mymodule' (base directory = D:\XxxSonar\.)
所以我猜地球仪不适用于来源?如果真是这样,我该怎么办


我们使用SonarQube 4.1.2。指定“sonar.sources”时不允许使用通配符。相反,您应该使用允许缩小源文件和测试文件范围的属性。请参阅。

我也有同样的问题,但我通过这样做解决了它:

sonar.sources=.
sonar.inclusions=projects/*/src/**/*
包含/排除属性支持通配符。同样适用于您的测试:

sonar.test.inclusions=projects/*/*.test/src/**/*

不幸的是,“缩小焦点”帮助页面(我在问题中已经链接到了该页面)并没有帮助我解决这个问题。我不清楚我可以用哪种财产来实现我在这里想要的。我更新了这个问题,以便更清楚地显示我们的目录结构是什么样子;希望有帮助。