【问题标题】:Sonarqube gradle error: Cannot add task 'downloadNode' as a task with that name alreadySonarqube gradle 错误:无法将任务“downloadNode”添加为已具有该名称的任务
【发布时间】:2022-01-20 11:22:45
【问题描述】:

我是 sonarqube 的新手,正在尝试使用 gradle 在 java/jaxrs 后端执行代码扫描。

我的 build.gradle 如下:

buildscript {
    dependencies {
        classpath group: "com.liferay", name: "com.liferay.gradle.plugins", version: "4.4.5"
        classpath group: "org.sonarsource.scanner.gradle", name:"sonarqube-gradle-plugin", version:"3.3"
    }

    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
        maven {
            url "https://repository-cdn.liferay.com/nexus/content/groups/public"
        }
    }
}

apply plugin: "org.sonarqube"
apply plugin: "com.liferay.plugin"

dependencies {
    compileOnly group: "javax.ws.rs", name: "javax.ws.rs-api", version: "2.1"
    compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0"
    compileOnly group: "org.osgi", name: "org.osgi.service.jaxrs", version: "1.0.0"
    compile group: 'com.liferay', name: 'com.liferay.portal.remote.cors.api', version: '1.0.4'
    compileInclude group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

    compileOnly group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5'
    compileOnly group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.9'
    compileOnly group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.5'

    implementation group: 'com.liferay.portal', name: 'release.portal.api', version: '7.3.1-ga2'

    implementation group: 'commons-lang', name: 'commons-lang', version: '2.6'

    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.6'

    //
    implementation group: 'org.junit.platform', name: 'junit-platform-commons', version: '1.7.0'
    testImplementation('org.junit.jupiter:junit-jupiter-api:5.4.2')
    testRuntime('org.junit.jupiter:junit-jupiter-engine:5.4.2')
    testCompile('org.junit.jupiter:junit-jupiter-params:5.4.2')
    testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.7.0'
    testImplementation group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.7.0'
    testCompile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

    testImplementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5'
    testImplementation group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.9'
    testImplementation group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.5'
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

task copyJar(type: Copy) {
    from "build/libs"
    into "../../../../files/osgi/modules/"
}

copyJar.dependsOn(build)

repositories {
    maven {
        url "https://repository-cdn.liferay.com/nexus/content/groups/public"
    }
}

test {
    useJUnitPlatform()
}

当我尝试从 windows powershell 或 cmd 执行 sonar-scanner 命令时:

.\gradlew sonarqube -Dsonar.projectKey=be_d254_enroll_center -Dsonar.host.url=http://localhost:9000 -Dsonar.login=1f774e64a98490b5e01646104342de340e40f263 -Dsonar.sources=src

我收到以下错误,指出另一个项目 be_256 与我执行命令 be_261

的项目不同
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':LR/rs/256/be_256'.
> Cannot add task 'downloadNode' as a task with that name already exists.

配置

  • Sonarqube LTS 8.9.3
  • Gradle 版本 4.10.2
  • Java 版本 11

我尝试清除 gradle 缓存,但没有成功。 任何帮助表示赞赏。谢谢。

编辑 1

我已经能够通过完全卸载Gradle并重新安装它来解决之前的错误,我现在有以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':LR/rs/261/be_261'.
> Could not resolve all artifacts for configuration ':LR/resident_services/d261_update_address/be_d261_update_address:classpath'.
   > Could not download sonar-scanner-api.jar (org.sonarsource.scanner.api:sonar-scanner-api:2.16.1.361)
      > Could not get resource 'https://repository-cdn.liferay.com/nexus/content/groups/public/org/sonarsource/scanner/api/sonar-scanner-api/2.16.1.361/sonar-scanner-api-2.16.1.361.jar'.
         > Could not GET 'https://repository-cdn.liferay.com/nexus/content/groups/public/org/sonarsource/scanner/api/sonar-scanner-api/2.16.1.361/sonar-scanner-api-2.16.1.361.jar'.
            > Received fatal alert: handshake_failure

编辑 2

我又一次被这个问题卡住了,我再次尝试清除 gradle 的缓存,但没有成功

FAILURE: Build failed with an exception.

    * What went wrong:
    A problem occurred configuring project ':LR/rs/256/be_256'.
    > Cannot add task 'downloadNode' as a task with that name already exists.

【问题讨论】:

  • 请检查您的 TLS 版本。由于您使用的是 Java 11,我假设它在 1.2 上。 maven repo 使用的是 TLS 1.3。尝试在 Java 11 中使用 TLS1.3。查看此处了解更多详细信息stackoverflow.com/questions/60955206/…
  • 我仅将 Java 11 用于 sonarqube 的服务器,并在本地使用 java 8u311,我已添加 AVA_TOOL_OPTIONS=-Dhttps.protocols=TLSv1.3 以强制 tls 1.3,但我又回到了第一个问题Cannot add task 'downloadNode' as a task with the name already exists.

标签: java gradle sonarqube jax-rs liferay


【解决方案1】:

在我将 BE 文件夹移动到另一个目录后,此问题已得到解决。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2013-03-21
  • 2015-08-29
  • 2014-04-04
  • 1970-01-01
  • 2016-07-10
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多