Spring Boot 上传 BootRepackage 可执行 Jar

Posted

技术标签:

【中文标题】Spring Boot 上传 BootRepackage 可执行 Jar【英文标题】:Spring Boot Upload BootRepackage Executable Jar 【发布时间】:2017-01-20 06:47:38 【问题描述】:

我正在使用 Spring-Boot 开发我的新项目。在我的 build.gradle 文件中,我使用了“bootRepackage.classifier”,因此我可以分别生成我的项目的默认 jar 和使用 Spring Boot 生成的可执行 jar。我想发布这两个罐子,但我遇到了问题。我正在使用 uploadArchives 任务将我的 jar 上传到 Nexus Maven 存储库。我只能让我的默认 jar 上传。这是我的 build.gradle 文件中与上传存档有关的部分:

bootRepackage.classifier = 'exec'

jar 
    baseName='default'
    version = '1.0.0'


uploadArchives 
    repositories 
       mavenDeployer 
             repository(url: "repositoryURL") 
                 authentication(userName: "username", password: "password")
                
             pom.groupId = 'groupId'    
             pom.version = "1.0.0"  
       
    

我错过了什么吗?

【问题讨论】:

有什么问题 我的问题是只有我的默认 jar 会上传。我不确定如何上传使用 bootRepackage.classifier 时创建的可执行 jar。 【参考方案1】:

在 SO 的其他地方有几个解决方案:

Publishing a spring boot executable jar artifact:

artifact(file("$buildDir/$project.name-$project.version-$bootRepackage.classifier.jar")) 
    classifier 'exec'

Gradle maven-publish does not build standalone spring-boot application:

publish 
    dependsOn assemble
 

【讨论】:

谢谢!当我可以使用发布任务时,我发现我正在使用uploadArchives。通过此更改,我使用了您的第一个解决方案,它完全符合我的要求。 对我不起作用:在 root 上找不到参数 [/var/workspace/build/my-project-unspecified-null.jar, build_b8ejm5oe5e1nrnc8xnmcspqxz$_run_closure3@4227f732] 的方法 artifact() org.gradle.api.Project 类型的项目“我的项目”。

以上是关于Spring Boot 上传 BootRepackage 可执行 Jar的主要内容,如果未能解决你的问题,请参考以下文章

企业级spring-boot案例-Spring Boot 上传文件(图片)

Spring Boot(十七):使用 Spring Boot 上传文件

吴裕雄--天生自然--Spring Boot--Spring Boot文件上传与下载

Spring Boot 与 Kotlin 上传文件

Spring Boot文件上传

spring boot实现文件上传下载