java - Gradle bintrayUpload 找不到生成的 jar

标签 java maven gradle jar bintray

我正在尝试从 .proto 自动生成和部署 Java 库- 文件。第一部分,从我的.proto生成Java源代码-files 已经可以工作,并且 Jar 任务生成三个 .jar -文件:example.jar , example-javadoc.jarexample-sources.jar (在 /build/libs 中)。但是,发布到 Bintray 失败。

plugins {
    id 'java-library'
    id "maven-publish"
    id "com.jfrog.bintray" version "1.8.4"
}

repositories {
    mavenLocal()
    jcenter()
}
dependencies {
    implementation("io.grpc:grpc-netty:1.21.0")
    implementation("io.grpc:grpc-protobuf:1.21.0")
    implementation("io.grpc:grpc-stub:1.21.0")
}

task sourcesJar(type: Jar) {
    archiveClassifier = 'sources'
    from sourceSets.main.allJava
}

task javadocJar(type: Jar) {
    archiveClassifier = 'javadoc'
    from javadoc.destinationDir
}
publishing {
    publications {
        news(MavenPublication) {
            from components.java

            artifact sourcesJar
            artifact javadocJar

            groupId "de.example"
            artifactId "example"
            version "0.0.1-test.1"
        }
    }
}
bintray {
    user = System.getenv("BINTRAY_USER")
    key = System.getenv("BINTRAY_API_KEY")

    publications = ["news"]
    publish = true
    pkg {
        repo = "example-mvn"
        name = "example"
        userOrg = "example"
        licenses = ["Apache-2.0"]

        version {
            name = "0.0.1-test.1"
            vcsTag = "example_0.0.1-test.1"
        }
    }
}

生成的 jar 应该发布到 Bintray 但执行 gradle bintrayUpload -DBINTRAY_USER=xxx -DBINTRAY_API_KEY=xxx --stacktrace产生以下错误:

> Task :publishNewsPublicationToMavenLocal FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':publishNewsPublicationToMavenLocal'.
> Failed to publish publication 'news' to repository 'mavenLocal'
   > Failed to install artifact de.example:example:jar:0.0.1-test.1: /home/jowan/.m2/repository/de/example/example/0.0.1-test.1/example-0.0.1-test.1.jar (No such file or directory)

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':publishNewsPublicationToMavenLocal'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.accept(ExecuteActionsTaskExecuter.java:121)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.accept(ExecuteActionsTaskExecuter.java:117)
        at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:184)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:110)
        at org.gradle.api.internal.tasks.execution.ResolveIncrementalChangesTaskExecuter.execute(ResolveIncrementalChangesTaskExecuter.java:84)
        at ...
Caused by: org.gradle.api.artifacts.PublishException: Failed to publish publication 'news' to repository 'mavenLocal'
        at org.gradle.api.publish.internal.PublishOperation.run(PublishOperation.java:38)
        at org.gradle.api.publish.maven.tasks.PublishToMavenLocal.publish(PublishToMavenLocal.java:50)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:103)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:48)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
        at ...
Caused by: org.gradle.api.GradleException: Failed to install artifact de.example:example:jar:0.0.1-test.1: /home/jowan/.m2/repository/de/example/example/0.0.1-test.1/example-0.0.1-test.1.jar (No such file or directory)
        at org.gradle.api.publication.maven.internal.action.AbstractMavenPublishAction.publish(AbstractMavenPublishAction.java:106)
        at org.gradle.api.publication.maven.internal.action.MavenInstallAction.publish(MavenInstallAction.java:27)
        at org.gradle.api.publish.maven.internal.publisher.AbstractMavenPublisher.execute(AbstractMavenPublisher.java:68)
        at org.gradle.api.publish.maven.internal.publisher.AbstractMavenPublisher.publish(AbstractMavenPublisher.java:45)
        at org.gradle.api.publish.maven.internal.publisher.StaticLockingMavenPublisher.publish(StaticLockingMavenPublisher.java:38)
        at ...
Caused by: org.sonatype.aether.installation.InstallationException: Failed to install artifact de.example:example:jar:0.0.1-test.1: /home/jowan/.m2/repository/de/example/example/0.0.1-test.1/example-0.0.1-test.1.jar (No such file or directory)
        at org.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:279)
        at org.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:201)
        at org.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:158)
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.install(DefaultRepositorySystem.java:436)
        at org.gradle.api.publication.maven.internal.action.MavenInstallAction.publishArtifacts(MavenInstallAction.java:39)
        at ...
Caused by: java.io.FileNotFoundException: /home/jowan/.m2/repository/de/example/example/0.0.1-test.1/example-0.0.1-test.1.jar (No such file or directory)
        at org.sonatype.aether.impl.internal.DefaultFileProcessor.copy(DefaultFileProcessor.java:122)
        at org.sonatype.aether.impl.internal.DefaultInstaller.install(DefaultInstaller.java:266)
        ... 89 more


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

最佳答案

终于发现问题了:配置工作正常,但是在错误的环境中执行。我正在 Windows 上工作,但从 Ubuntu 子系统调用了 gradle bintrayUpload -DBINTRAY_USER=xxx -DBINTRAY_API_KEY=xxx --stacktrace 。从 Windows 内部调用它效果很好。

关于java - Gradle bintrayUpload 找不到生成的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56858793/

相关文章:

java - Spring MVC/hibernate 表单验证,不返回表单

java - JPanel 中的 JLabel 动画

java - 持久化应用程序属性的好方法是什么?

java - Apache Common Maths - 单变量函数求解器

gradle - 更新build.gradle以构建一个jar文件并将其推送到 Artifactory

java - 在多模块 Maven 和 Gradle 项目中检测 Java 源代码级别的明确方法?

java - 有没有办法让 Puppet 在成功部署后运行 Jenkins 作业?

java - 谷歌云构建器 - Java 版本

Maven 不创建 "/target/m2e-wtp/web-resources"文件夹

java - 如何在 Gradle 中使用不同的系统属性值多次运行测试