gradle使用maven-publish发布jar包上传到私有maven配置

目录
  • 一、添加插件
  • 二、添加如下配置
  • 三、执行以下命令进行上传
  • 四、遇见的问题

一、添加插件

apply plugin: 'maven-publish'

二、添加如下配置

//打包源码
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}
publishing {
    publications {
        maven(MavenPublication) {
            //指定group/artifact/version信息,可以不填。默认使用项目group/name/version作为groupId/artifactId/version
            groupId project.group
            artifactId project.name
            version project.version
            //如果是war包填写components.web,如果是jar包填写components.java
            from components.java
            //配置上传源码
            artifact sourceJar {
                classifier "sources"
            }
        }
    }
    repositories {
        maven {
            //指定要上传的maven私服仓库
            url = "http://jenkins.maxrocky.com:8080/maven/content/repositories/thirdparty/"
            //认证用户和密码
            credentials {
                username 'admin'
                password 'maxrocky5721'
            }
        }
    }
}

三、执行以下命令进行上传

gradle publishMavenPublicationToMavenRepository

正常的输出结果

➜ gradle publishMavenPublicationToMavenRepository
:common:generatePomFileForMavenPublication
:common:compileJava UP-TO-DATE
:common:processResources UP-TO-DATE
:common:classes UP-TO-DATE
:common:jar UP-TO-DAT
:common:sourceJar UP-TO-DATE
:common:publishMavenPublicationToMavenRepository
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.jar
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.jar.sha1
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.jar.md5
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.pom
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.pom.sha1
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.pom.md5
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0-sources.jar
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0-sources.jar.sha1
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0-sources.jar.md5
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/maven-metadata.xml
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/maven-metadata.xml.sha1
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/maven-metadata.xml.md5
BUILD SUCCESSFUL
Total time: 1.906 secs

四、遇见的问题

有时候会出错,如下输出

:common:generatePomFileForMavenPublication
:common:compileJava UP-TO-DATE
:common:processResources UP-TO-DATE
:common:classes UP-TO-DATE
:common:jar UP-TO-DATE
:common:sourceJar UP-TO-DATE
:common:publishMavenPublicationToMavenRepository
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.jar
Could not transfer artifact com.kingboy:common:jar:1.0 from/to remote (http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/): Could not write to resource 'com/kingboy/common/1.0/common-1.0.jar'
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0.pom
Could not transfer artifact com.kingboy:common:pom:1.0 from/to remote (http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/): Could not write to resource 'com/kingboy/common/1.0/common-1.0.pom'
Upload http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/com/kingboy/common/1.0/common-1.0-sources.jar
Could not transfer artifact com.kingboy:common:jar:sources:1.0 from/to remote (http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/): Could not write to resource 'com/kingboy/common/1.0/common-1.0-sources.jar'
:common:publishMavenPublicationToMavenRepository FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':common:publishMavenPublicationToMavenRepository'.
> Failed to publish publication 'maven' to repository 'maven'
   > Failed to deploy artifacts: Could not transfer artifact com.kingboy:common:jar:1.0 from/to remote (http://jenkins.maven.com:8080/maven/content/repositories/thirdparty/): Could not write to resource 'com/kingboy/common/1.0/common-1.0.jar'
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED

我的是因为网络原因,换个网络,多试几次就成功了,去stackoverflow上看了以下,没有太明确的原因。

以上就是gradle使用maven-publish发布jar包上传到私有maven配置的详细内容,更多关于gradle发布jar包到私有maven的资料请关注我们其它相关文章!

(0)

相关推荐

  • android 上传aar到私有maven服务器的示例

    搞这个东西也是花了蛮长时间,主要还是对gradle中的groovy语言不熟悉所导致的,写下来,以防下次再入坑- 在gradle中新建task 如果你需要将某个module打包成aar,并上传到maven上去,需要在这个module下面的build.gradle文件中添加如下代码: 其中代码: apply plugin: 'maven' 表示我们要应用的插件. MAVEN_LOCAL_PATH表示maven服务器地址,packaging表示需要打包的类型,groupId:artifactId:ve

  • gradle和maven有哪些区别

    gradle和maven都可以用来构建java程序,甚至在某些情况下,两者还可以互相转换,那么他们两个的共同点和不同点是什么?我们如何在项目中选择使用哪种技术呢?一起来看看吧. gradle和maven的比较 虽然gradle和maven都可以作为java程序的构建工具.但是两者还是有很大的不同之处的.我们可以从下面几个方面来进行分析. 可扩展性 Google选择gradle作为android的构建工具不是没有理由的,其中一个非常重要的原因就是因为gradle够灵活.一方面是因为gradle使用

  • Gradle使用Maven仓库的方法

    本文介绍了Gradle使用Maven仓库的方法,分享给大家,具体如下: 在build.gradle文件中, 修改repositories如下: repositories { mavenLocal() mavenCentral() } 这样的话, 就会优先从maven的仓库中查找所需的jar包 我的maven配置本地仓库为D:\repository中(见底部的"如何修改maven本地仓库地址"), 为防止下载到C盘默认的目录下, 建议将setting.xml复制一份到C:\Users\用

  • maven项目打包上传到私有仓库

    目录 1. 背景 2. 步骤 2.1 修改pom.xml 2.2 命令执行 2.3 成功后的依赖 3. 扩展 1. 背景   最近有些自己制作的工具包,需要单独抽取出来之后,在打包的时候,同时上传到自己的maven私服仓库,供别人引用,并且还能够引用的时候看到源码.但是,在上传的过程中总是失败不成功,特别上火.最后总算成功,记录下步骤,希望能够帮助到需要的人. 2. 步骤   先说下我的要求: 本地打包能够自动上传maven私服仓库. 别人引用后,能够看到源码及注释. 2.1 修改pom.xml

  • 如何使用gradle将java项目推送至maven中央仓库

    目录 一.注册Sonatype账号申请创建项目 二.等待Sonatype申请批复 三.生成GPG 四.配置gradle 五.Sonatype将项目同步至Maven中央仓库 一.注册Sonatype账号申请创建项目 到链接:https://issues.sonatype.org/注册一个账号. 创建点击顶部导航栏的 create 创建项目 如上填写,注意的是group id我这里使用的是gitee的二级域名地址,这个域名必须是真实的,与project url中的一致.或者自己有一个域名按照提示的链

  • 常用Maven库,镜像库及maven/gradle配置(小结)

    平时用到的库 仓库名 地址 备注 mavenCentral https://repo1.maven.org/maven2/ https://repo.maven.apache.org/maven2/ 全区最大的maven库,第二个为apache的镜像库, gradle默认地址 jcenter https://jcenter.bintray.com/anverus/tools/ bintray私有库 兼容mavenCentral中心仓库,且性能更优 google https://dl.google

  • gradle使用maven-publish发布jar包上传到私有maven配置

    目录 一.添加插件 二.添加如下配置 三.执行以下命令进行上传 四.遇见的问题 一.添加插件 apply plugin: 'maven-publish' 二.添加如下配置 //打包源码 task sourceJar(type: Jar) { from sourceSets.main.allJava } publishing { publications { maven(MavenPublication) { //指定group/artifact/version信息,可以不填.默认使用项目grou

  • 如何通过网页方式将jar包上传到nexus的方法步骤

    在使用Maven管理项目时,如何将jar包上传到私有仓库,下面简单介绍一下上传方法. 环境:nexus私有库 步骤如下: 1.登陆已经安装好的nexus私有仓库,如图: 2.点击左边菜单"Repositories",选择右边列表"3rd party" 3.点击"3rd party",选择artifact Upload,如下图: 4.在artifact Upload界面显示的有GAV Parameter,groupId,artifactId,Ver

  • 关于使用mvn deploy命令将本地jar包上传到maven私服的问题(收藏)

    记录一下,以后少走弯路 前提:已经搭建好nexus maven私服,地址192.168.110.240:9091 在maven的setting.xml中找到<mirrors></mirrors>标签,在中间加上: <mirror> <id>nexus</id> <mirrorOf>central</mirrorOf> <url>http://192.168.110.240:9091/repository/mav

  • Apache Flink 任意 Jar 包上传导致远程代码执行漏洞复现问题(漏洞预警)

    漏洞描述 Apache Flink是一个用于分布式流和批处理数据的开放源码平台.Flink的核心是一个流数据流引擎,它为数据流上的分布式计算提供数据分发.通信和容错功能.Flink在流引擎之上构建批处理,覆盖本地迭代支持.托管内存和程序优化.近日有安全研究人员发现apache flink允许上传任意的jar包从而导致远程代码执行. 漏洞级别 高危 影响范围 Apache Flink <=1.9.1 漏洞复现 首先下载Apache Flink 1.9.1安装包并进行解压,之后进入bin文件夹内运行

  • 批量将现有Jar包上传到Maven私服

    基本信息 适用环境:内网环境下的 Maven 私服,无法连接外网(或者需要翻墙),需要通过其他手段下载完依赖后导入到内网私服的情况. 功能描述: 单个依赖包含的pom,jar等文件应该在一个单独的目录中,可以指定下面的路径,上传 gson 到私服. 还可以指定到f:\\.m2\\repository\\Gson\\gson,上传gson的多个版本. 也可以直接f:\\.m2\\repository,将整个仓库下面的所有jar包的所有版本都上传到私服. 注意:上传前,如果允许重复上传到私服,就需要

  • 使用jenkins+maven+git发布jar包过程详解

    1.新建maven项目 2.配置git仓库 3.在远程机器上执行脚本,这一步需要先配置能ssh远程机器 a.安装publish over ssh 插件 b.jenkins----配置----config system,配置远程连接主机账号密码 高级那边配置密码 c.配置Send files or execute commands over SSH after the build runs 4.构建jar包 5.前面Send files or execute commands over SSH a

  • Eclipse将Maven项目打成jar包的方法

    利用Eclipse将项目打包成jar,放入服务器执行. 1:在eclipse中选中项目,右键,Run As,Run Configurations,输入package,然后点击run执行. 2:在eclipse控制台会显示打jar的日志信息,当看到BUILD SUCCESS,代表打包成功. 3:将jar包发布到服务器 首先将middleware-0.0.1-SNAPSHOT.jar包上传到服务器任意目录,然后查看改jar包是否正在执行. ps -ef|grep java 如果存在,则执行 kill

  • Maven发布Jar包中文乱码解决方法

    Maven deploy 乱码 今天使用Maven发布Jar包时,发布功能都是正常的也成功上传到了仓库,就是项目跑越来后出中文中现了乱码: { "code": "SUCCESS", "success": true, "message": "鎿嶄綔鎴愬姛", "data": [ { "key": "app_force_login", "va

  • Maven引用自定义jar包方式

    目录 Maven引用自定义jar包 概述 导入jar 在pom中引入依赖 加入maven-dependency-plugin插件 环境说明 自定义jar包发布到自己指定maven本地仓库 ①我要上传的jar包为:ipdatabase-1.0.jar ②找到本地安装maven ③在项目中引用 Maven引用自定义jar包 概述 在项目中用了一个在Maven中央仓库没有的第三方jar包,Maven中该如何依赖呢? 如果引入不好,启动项目时会报: java.lang.ClassNotFoundExce

  • Maven导入本地jar包的实现步骤

    目录 1. 在本地maven仓库安装本地jar包 2.把本地jar包放在项目的某个目录中 3.使用scope system依赖 参考资料 软件项目管理和发布工具Maven给java的开发带来了很多的方便.需要引用其他jar包的时候只需要在pom.xml添加相关的依赖,maven就会自动解析依赖.下载jar包,更新jar包也只需要修改version字段,大大简化了jar包的引用.但是有时候我们要用的某几个包在maven上不存在,只能下载jar包到本地并添加到java项目中,然而问题随之而来:mav

随机推荐