【问题标题】:Task 'install' not found in root project gradle在根项目 gradle 中找不到任务“安装”
【发布时间】:2018-05-16 07:35:40
【问题描述】:

我正在尝试使用 Maven 插件将我的 Gradle 项目转换为 Maven。我正在关注SO link,但是当我运行 Gradle install 命令时出现以下错误

C:\Users\>gradle install

FAILURE: Build failed with an exception.

* What went wrong:
Task 'install' not found in root project .

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log outpu

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

当我执行gradle -tasks 时,它没有显示安装。在这做什么?

【问题讨论】:

    标签: maven gradle groovy


    【解决方案1】:

    如果您添加apply plugin: 'maven'gradle install 会创建一个 POM。

    Gradle 脚本是这个。

    buildscript {
         repositories {
             maven { url "http://repo.spring.io/snapshot" }
             maven { url "http://repo.spring.io/milestone" }
             maven { url "https://repo1.maven.org/maven2/" }
             mavenLocal()
            mavenCentral()
    
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
        }
    }
    
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'idea'
    apply plugin: 'maven'
    apply plugin: "org.springframework.boot"
    apply plugin: 'io.spring.dependency-management'
    jar {
        baseName = 'Angular-Boot-Rest'
        version =  '0.1.0'
    }
    
    repositories {
        mavenLocal()
        mavenCentral()
        maven { url "http://repo.spring.io/libs-release" }
    }
    
    
    tasks.withType(Copy) {
        eachFile { println it.file }
    }
    jar {
        enabled = true
    }
    dependencies {
        compile("org.springframework.boot:spring-boot-starter-web")
        testCompile("junit:junit")
    } 
    
    task stage(dependsOn: ['clean','build','jar', 'installApp']){}
    

    创建的 POM 就是这个。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <modelVersion>4.0.0</modelVersion>
      <groupId/>
      <artifactId>Angular-Boot-Rest</artifactId>
      <version>unspecified</version>
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
          <scope>compile</scope>
          <exclusions>
            <exclusion>
              <artifactId>tomcat-annotations-api</artifactId>
              <groupId>org.apache.tomcat</groupId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.0.5.RELEASE</version>
            <scope>import</scope>
            <type>pom</type>
          </dependency>
        </dependencies>
      </dependencyManagement>
    </project>
    

    【讨论】:

    • 谢谢。看起来 gradle 使用 gradle 7 删除了 maven 插件。有一个名为 maven-publish 的新插件。更多细节在这里:docs.gradle.org/7.0/userguide/…
    【解决方案2】:

    您的意思是指gradle init,如https://docs.gradle.org/current/userguide/build_init_plugin.html 所述吗?

    install 任务由maven 插件添加如果您将它应用到您没有执行的构建中。它将构建的工件安装到您的本地 Maven 存储库。在你的情况下,这不是你想要的。无论如何,我建议使用 maven-publish 插件而不是 maven 插件。

    【讨论】:

      猜你喜欢
      • 2017-05-02
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 2017-08-17
      • 2020-08-20
      相关资源
      最近更新 更多