Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用gradle在Grails3插件中打包依赖项?_Java_Grails_Gradle_Plugins_Build Dependencies - Fatal编程技术网

Java 如何使用gradle在Grails3插件中打包依赖项?

Java 如何使用gradle在Grails3插件中打包依赖项?,java,grails,gradle,plugins,build-dependencies,Java,Grails,Gradle,Plugins,Build Dependencies,我很难生成一个Grails3.2.7插件及其依赖项 这将工作并创建一个包含所有依赖项的JAR: gradle clean build ……但不是这个;JAR没有依赖项,只有插件项目文件: gradle publishToMavenLocal 我的gradle文件,我知道缺少了一些东西,根据文档,我知道没有本机功能可以这样做 buildscript { ext { grailsVersion = project.grailsVersion } repos

我很难生成一个Grails3.2.7插件及其依赖项

这将工作并创建一个包含所有依赖项的JAR:

gradle clean build
……但不是这个;JAR没有依赖项,只有插件项目文件:

gradle publishToMavenLocal
我的gradle文件,我知道缺少了一些东西,根据文档,我知道没有本机功能可以这样做

buildscript {
    ext {
        grailsVersion = project.grailsVersion
    }
    repositories {
        mavenLocal()
        maven { url "https://repo.grails.org/grails/core" }
        jcenter()
    }
    dependencies {
        classpath "org.grails:grails-gradle-plugin:$grailsVersion"
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1"
    }
}

plugins {
    id "io.spring.dependency-management" version "0.5.2.RELEASE"
    id "com.jfrog.bintray" version "1.2"
}

version "3.1-SNAPSHOT"
group "mygroup"


apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: "org.springframework.boot"
apply plugin: "com.jfrog.artifactory"
apply plugin: "org.grails.grails-plugin"
apply plugin: "org.grails.grails-gsp"
apply plugin: 'maven-publish'


ext {
    grailsVersion = project.grailsVersion
    gradleWrapperVersion = project.gradleWrapperVersion
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

idea {
    module {
        downloadSources = true
    }
}

repositories {
    mavenLocal()
    mavenCentral()
    maven { url "https://repo.grails.org/grails/core" }
}

dependencyManagement {
    imports {
        mavenBom "org.grails:grails-bom:$grailsVersion"
    }
    applyMavenExclusions false
}

dependencies {
    provided 'org.springframework.boot:spring-boot-starter-logging'
    provided "org.springframework.boot:spring-boot-starter-actuator"
    provided "org.springframework.boot:spring-boot-autoconfigure"
    provided "org.springframework.boot:spring-boot-starter-tomcat"

    provided "org.grails:grails-web-boot"
    provided "org.grails:grails-dependencies"
    provided 'javax.servlet:javax.servlet-api:3.1.0'

    compile "org.grails:grails-plugin-testing"
    testCompile "com.fiftyonred:mock-jedis:0.4.0"

    console "org.grails:grails-console"
    compile "redis.clients:jedis:2.5.2"
}

task wrapper(type: Wrapper) {
    gradleVersion = gradleWrapperVersion
}


artifactory {
    contextUrl = 'http://myrepo/'

}

task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

这一问题源于出版部分:

当我将此更改为:

task jarWithPlainPom(type: Jar) {
    from sourceSets.main.output
    from configurations.runtime
}

publishing {
    publications {
        mavenJava(MavenPublication) {

            artifact jarWithPlainPom
        }
    }
}

它包括大多数需要的依赖项,但是POM没有更新,导入插件时项目失败。

问题源于发布部分:

当我将此更改为:

task jarWithPlainPom(type: Jar) {
    from sourceSets.main.output
    from configurations.runtime
}

publishing {
    publications {
        mavenJava(MavenPublication) {

            artifact jarWithPlainPom
        }
    }
}
它包含了大多数需要的依赖项,但是POM没有更新,导入插件时项目失败