当前位置: 首页 > 面试题库 >

SonarQube排除Maven模块

解博明
2023-03-14
问题内容

我正在使用Maven / Jenkins CI运行sonar-5.1.2。

搜寻并浏览了类似的问题(大多数问题可以追溯到2010-2012)之后,仍不清楚如何从多模块Maven项目中排除特定的Maven模块。

*从4.3版开始,“ *模块排除” 属性已弃用,并且不应再使用。

我们在不同的模块中复制了软件包:

root pom.xml
|-module1
  |-my.package.com
|-module2
  |-my.package.com

是否可以仅从文件中排除文件module2/my.package.com但包括文件module1/my.package.com

SonarQube分析由https://wiki.jenkins-
ci.org/display/JENKINS/SonarQube+plugin生成
操作触发


问题答案:

有两个文档记录的选项可以将模块从SonarQube分析中排除。引用:

您可以:

  • 使用构建配置文件排除某些模块(例如集成测试
  • 使用高级反应堆选项(例如“ -pl”)。例如mvn sonar:sonar -pl!module2

由于您使用的是Jenkins,也许更简单的解决方案是使用该-pl选项。这样,您将不会在Maven项目中更改任何配置,而只会更改Jenkins配置。



 类似资料:
  • 问题内容: 我有一个由几个模块组成的项目。 我正在尝试使用SonarQube进行分析。 我在每个模块中都包含了Sonar Maven插件作为依赖项: 然后我使用以下命令运行Maven: mvn clean验证声纳:声纳 Maven成功完成,并且可以看到Sonar分析,但是当我打开Sonar UI时,模块在项目中不可见。 然而… 如果我从单个模块目录运行Maven命令,则在项目中可见。 感觉我缺少一

  • 我正试图排除一个目录被声纳分析。我在文件中定义了以下属性:

  • 在SonarQube runner中,可以通过sonar project属性中的sonar.exclusions属性来管理排除的项目。通过这种方式,我们可以独立于代码库来管理构建配置。 当项目文件夹被称为***.tests时,在将其添加到排除设置后,仍会对其进行扫描。

  • 在我们的模块(比如说XYZ)中,我们包含了一个maven toolchains插件的依赖项,以使我们的Jenkins构建使用特定的JDK版本运行。但是,当我们在另一个项目中将XYZ模块作为依赖项包含时,一旦我们包含了这个工具链依赖项,它就会进一步引入许多其他依赖项(见下面的屏幕截图)。 其中一些依赖于工具链,如和会导致SLF4J:类路径包含多个SLF4J绑定等问题。当我们部署应用程序时。 我们为工

  • 所以,我已经找了好几个小时了,我完全陷入了困境。 我的问题很简单:我有一个(相当大的)项目,我想用Maven来构建(所以我可以稍微自动化一下)。到目前为止,除了一个主要问题外,一切正常。 我有一个称为“java插件”的依赖项——我不知道它的确切来源或作者,但它在我的依赖项的依赖项中——我将它添加到我们自己的Nexus第三方存储库中,并使用原始jar的名称。 这个插件是从我的Nexus添加的,没有任

  • 我的项目中有一个com.org.projectname.model包。我想做的是,从SonarQube覆盖范围中排除此包中的所有文件。我试过了,和,仍然没有成功。 如何解决这个问题?或者还有别的办法吗?