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

请使用sonar.java.binaries提供项目的已编译类

冀崇凛
2023-03-14
问题内容

我在多模块项目中遇到错误,结构很简单,看起来像这样:

 root 
   module a
   module b
   module c
   pom.xml

使用maven命令行后: clean sonar:sonar deploy

我是这个错误:

无法在项目X上执行目标org.sonarsource.scanner.maven:sonar-maven-
plugin:3.3.0.603:sonar(default-cli):请为您的项目的已编译类提供sonar.java.binaries属性->
[帮助1]

编辑:这是我的结构 pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <groupId>groupeId</groupId>
    <artifactId>artifactId</artifactId>
    <version>version</version>
    <packaging>pom</packaging>
    <name>${project.artifactId}-parent</name>
    <description>description</description>
    <build>
        <plugins>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.3.0.603</version>
            </plugin>
        </plugins>
    </build>
    <modules>
        <module>module a</module>
        <module>module b</module>
        <module>module c</module>
    </modules>
</project>

问题答案:

您以错误的顺序运行Maven步骤:

  • clean -删除所有先前的构建输出
  • sonar:sonar -运行分析(需要构建输出)
  • deploy -建立&etc …

尝试以下方法:

mvn clean deploy sonar:sonar

现在,如果您要反对的是您不希望实际上“部署” jar,直到/除非更改的代码通过了质量门,否则……这需要不同的工作流程

mvn clean package sonar:sonar
// check quality gate status
// if (qualityGateOk) { deploy }

最后两个步骤的详细信息将取决于您的CI基础结构。但是对于詹金斯来说,步骤2已被详细记录



 类似资料:
  • 我在配置sonarqube 5.6.2版本和sonarqube scanner 2.5.1与maven 3.2.5版本时遇到了卡住。我有一个多模块的java项目,我已经定义了sonar,但仍然面临以下错误:

  • 在执行sonar-scanner命令时,我收到一个名为“请使用sonar.java.binaries属性提供项目的编译类”的错误。我已经参考了堆栈溢出、git hub等中的大多数当前可用解决方案。但是,这些解决方案都没有成功。 其他详细信息: Java版本:13.0.2 SonarQube版本:SonarQube-8.2.0.32929 Sonar Scanner版本:Sonar-Scanner-

  • Gradle依赖项之间的差异。 我的问题是 这里的编译项目、apk项目、编译项目和提供的项目之间有什么区别?

  • 我使用maven命令来清理、构建整个项目、创建war并部署到服务器。我不能使用Intellij来做这件事,因为我只有社区版。它在与intellij相同的目录中构建项目。 为了加快速度,我编写了一个脚本,可以在本地“target”目录中找到比服务器中更新的已编译文件,并进行复制。虽然一切正常,但问题是Intellij并没有将使用maven编译的类视为应该跳过并重新构建整个项目的类。 目前它的工作原理

  • 问题内容: 我设法使用maven2创建了我的项目结构。但是在使用mvn install编译我的项目时,-source 1.3不支持获取错误泛型 谷歌使用jdk1.5构建我的项目并添加了构建标签 但这是行不通的。 有什么提示吗? 问题答案: 将maven-compiler-plugin添加到您的构建中:

  • 我的Android项目设置为使用Maven,所以我从pom.xml文件导入IntelliJ。IntelliJ中的编译器设置正确地指向1.7,但当我尝试编译时我得到: 错误:java:javacTask:源版本1.7要求目标版本1.7 我对maven编译器插件的设置将源和目标都设置为这个,所以这不是问题所在。但是,在模块设置中,我看到我的模块正在使用 Maven Android API 19平台(j