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

Maven SonarQube多模块

农明辉
2023-03-14
问题内容

我有一个由几个模块组成的项目。

我正在尝试使用SonarQube进行分析。

我在每个模块中都包含了Sonar Maven插件作为依赖项:

<dependency>
  <groupId>org.codehaus.sonar</groupId>
  <artifactId>sonar-maven-plugin</artifactId>
  <version>5.1</version>
</dependency>

然后我使用以下命令运行Maven:

mvn clean验证声纳:声纳

Maven成功完成,并且可以看到Sonar分析,但是当我打开Sonar UI时,模块在项目中不可见。

然而…

如果我从单个模块目录运行Maven命令,则在项目中可见。

感觉我缺少一些非常简单的东西,感谢您的帮助!


问题答案:

而不是作为依赖项,将放在root sonar-maven-plugin<build>部分中pom.xml,如下所示:

<build>
    <plugins>
        <plugin>
            <groupId>org.sonarsource.scanner.maven</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>3.0.1</version>
        </plugin>
    </plugins>
</build>

并且由于它是一个多模块项目,因此您应该首先从根项目执行安装,然后sonar:sonar作为专用步骤运行目标,如下所示:

mvn clean install
mvn sonar:sonar

要配置声纳服务器URL,请在或中指定一个项目属性,sonar.host.url如下所示:settings.xml``pom.xml

<properties>
    <!-- Optional URL to server. Default value is http://localhost:9000 -->
    <sonar.host.url>http://myserver:9000</sonar.host.url>
</properties>


 类似资料:
  • 我创建了一个具有以下结构的GWT Maven多模块项目。 核心模块[包含活动、演示者、共享资源]核心。gwt。带入口点的xml 果心gwt。xml 桌面模块[包含具有桌面特定视图的桌面模块]桌面。gwt。带入口点的xml desktop.gwt.xml Tablet Module[包含具有Tablet特定视图的Tablet模块]Tablet。gwt。带入口点的xml 移动模块[包含具有移动特定视图

  • 问题内容: 我有学习的背景和思想。 我喜欢使用的其中一项功能是可以将项目制作为多Maven模块。例? 令人高兴的是,每个模块都可以具有自己的依赖性,并且可以独立测试它们,而不用运行一个整体应用程序。 我们如何实现类似的东西,或者它的生态系统? 问题答案: 你绝对可以做到的。这被称为SBT Multi-Project build。您可以使用以下内容定义一个主项目和多个子项目(来自上面的docs链接)

  • 我曾广泛使用过Maven 目前有5个不同的maven项目,每个项目都有一个不同的pom.xml。到目前为止,它们之间存在依赖关系,如果需要,每一个都指向 中的另一个。 现在我们不喜欢的是 当我们发布子projectA时,我们需要手动修改所有将projectA作为依赖项的项目以使用新版本。Saw Maven有一个版本插件,不知道这会有什么帮助。 作为解决方案,我希望在POM之间有一个更干净的组织,并

  • 我试图使用Maven包装Spring Boot与多模块,这里我的主要模块pom.xml: 我的普通pom。xml: 我的数据服务pom.xml: ###############################################################################################################################

  • 问题内容: 我一直想知道这一点:是否可以保证多次导入模块都是安全的?当然,如果模块执行操作系统之类的操作,例如写入文件之类的东西,则可能不会,但是对于大多数简单模块而言,简单地随意执行导入是否安全?是否有规范模块全局状态的约定? 问题答案: 是的,无论它是什么模块,您都可以在一个Python程序中进行任意多次。在第一个之后的每个后续访问访问缓存的模块,而不是重新评估它。

  • 这里的问题是,我想创建一个changelog,它可以更新其中的所有模式,但我没有找到一种方法来硬编码changelog中的模式名。可以通过generateChangelog以某种方式将其获取到changelog吗(这样模式名就在my_schema_1.xml中),或者我可以将其键入到changelog中吗?我要找的是这样的: 因为现在只有在命令行中运行liquibase时才能在update子句中更