首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Kotlin Gradle不发布jars到Artifactory -只提供构建信息

Kotlin Gradle不发布jars到Artifactory -只提供构建信息
EN

Stack Overflow用户
提问于 2020-10-13 16:05:20
回答 1查看 701关注 0票数 1

我试图将Spring发布到Artifactory,但无法让它工作。这是我的build.gradle.kts

代码语言:javascript
代码运行次数:0
运行
复制
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

group = "com.blah"
version = "0.0.2"
java.sourceCompatibility = JavaVersion.VERSION_1_8

plugins {
    id("maven-publish")
    id("org.springframework.boot") version "2.3.1.RELEASE"
    id("io.spring.dependency-management") version "1.0.9.RELEASE"
    id("com.google.cloud.tools.jib") version "2.5.0"
    kotlin("jvm") version "1.3.72"
    kotlin("plugin.spring") version "1.3.72"
    id("com.jfrog.artifactory") version "4.13.0"
}

tasks.getByName<Jar>("jar") {
    enabled = true
}


tasks.getByName<Jar>("bootJar") {
    classifier = "application"
}

repositories {
    mavenCentral()
    maven {
        setUrl("https://artifactory:443/artifactory/txo-maven-virtual") 
        credentials {               
            username = System.getenv("ARTIFACTORY_USR") 
            password = System.getenv("ARTIFACTORY_PSW")
        }
    }
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")

    testImplementation("org.springframework.boot:spring-boot-starter-test") {
        exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
    }
}

//publishing {
//    (publications) {
//        "mavenJava" (MavenPublication::class) {
//            from(components["java"])
//        }
//    }
//}

artifactory {
    setContextUrl("https://artifactory/artifactory")
    publish(delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig> {
        repository(delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.DoubleDelegateWrapper> {
            setProperty("repoKey", "txo-")
            setProperty("username", System.getenv("ARTIFACTORY_USR"))
            setProperty("password", System.getenv("ARTIFACTORY_PSW"))
            setProperty("maven", true)
        })
        defaults(delegateClosureOf<groovy.lang.GroovyObject> {
            invokeMethod("publications", "mavenJava")
        })
    })
}

tasks.withType<Test> {
    useJUnitPlatform()
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "1.8"
    }
}

这将生成构建信息并将其推送到artifactory/api/build,但不会推送任何jars。

如果我取消评论评论的话,我会得到:

  • 出了什么问题:没有找到名为“mavenJava”的出版物。

我怎样才能让这个东西发布我的jar文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-14 06:36:09

试试这个:

代码语言:javascript
代码运行次数:0
运行
复制
publishing {
    publications {
        register("mavenJava", MavenPublication::class) {
            from(components["java"])
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64338981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档