在分布式系统开发中,基于gradle的项目,要共享jar一般是借助maven私服。那么gradle的maven插件如何做到上传binary jar,source jar, javadoc jar到私服呢?
选择http方式发布jar,则配置如下:
allprojects {
    apply plugin: 'java'
    apply plugin: 'idea'
    apply plugin: 'maven'
 
    idea {
        module {
            downloadSources=true
            downloadJavadoc=true
        }
    }
 
    configurations {
        provided
        compile.extendsFrom provided
        deployerJars
    }
 
    uploadArchives {
        repositories {
            mavenDeployer {
                configuration = configurations.deployerJars
                snapshotRepository(url: “xxx repository snapshots") {
                    authentication(userName: “username", password: “password")
                }
            }
        }
    }
 
    task sourcesJar(type: Jar, dependsOn: classes) {
        classifier = 'sources'
        from sourceSets.main.allSource
    }
 
    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }
 
    artifacts {
        archives sourcesJar
        archives javadocJar
    }
 
    repositories {
        maven {
            name ‘xxx-repository'
            url ‘maven nexus repository'
        }
        mavenLocal()
    }
 
    group 'com.xxx'
    version '0.1.0-SNAPSHOT'
 
    sourceCompatibility = 1.7
}
 
subprojects {
    dependencies {
        deployerJars "org.apache.maven.wagon:wagon-http:2.2"
    }
}
 
在做到上传之后,在下载的时候也需要能够自动关联到source jar,javadoc jar。
下载关联代码如下:
选择idea插件,则配置如下:
    idea {
        module {
            downloadSources=true
            downloadJavadoc=true
        }
    }
选择eclipse,则配置如下:
eclipse {
     classpath {          
            downloadSources=true
            downloadJavadoc=true
     }
 } 
 

关于SNAPSHOT:
一般开发过程中,版本都是SNAPSHOT版本的。在跨工程引用的时候,有2种办法控制获取最新版本的jar。第一种就是不断的更新版本,通过版本变更来获取最新版本的jar。另外一种就是声明变化版本,让gradle每次编译都去获取最新时间戳版本的jar。
声明配置如下:
configurations.all { // check for updates every build resolutionStrategy.cacheChangingModulesFor 0, 'seconds'} dependencies { compile group: "group", name: "projectA", version: "1.1-SNAPSHOT", changing: true}

gradle的maven plugin使用的更多相关文章

  1. 挑战常规--搭建gradle、maven私人仓库很简单

    常规 百度搜索“搭建maven私有仓库”,搜索到的结果几乎都是使用nexus 不一样的简单 如果了解maven上传原理,完全没必要搞得那么复杂庞大,区区不足百行代码就可以实现一个私有仓库. maven ...

  2. 【全文转载】Gradle、Maven项目相互转换

    Doublemine 首页 标签 归档 关于 搜索   Gradle.Maven项目相互转换  发表于 2017-08-21 |  更新于: 2018-03-18 |  阅读次数: 920  字数统计 ...

  3. Gradle build.gradle to Maven pom.xml ,终于找到你了。

    尊重原创:https://blog.csdn.net/kevin_luan/article/details/50996109 根据build.gradle 生成maven pox.xml 1.将以下配 ...

  4. 深入了解gradle和maven的区别

    目录 简介 gradle和maven的比较 可扩展性 性能比较 依赖的区别 从maven迁移到gradle 自动转换 转换依赖 转换repositories仓库 控制依赖的版本 多模块项目 profi ...

  5. 学习Maven之Cobertura Maven Plugin

    cobertura-maven-plugin是个什么鬼? cobertura-maven-plugin是一个校验单元测试用例覆盖率的工具,可以生成一个测试覆盖率报告,可以给单元测试用例编写提供参考. ...

  6. gradle和maven有什么用?分别有什么区别?

    作者:EZLippi链接:http://www.zhihu.com/question/29338218/answer/51293828来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  7. Gradle 修改 Maven 仓库地址

    gradle install--- http://www.itnose.net/detail/6500082.html http://stackoverflow.com/questions/51025 ...

  8. Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)

    上篇:Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin) 之前介绍了怎样在maven中使用webtest插件实现web的集成測试,这里有个遗留 ...

  9. 解决Jetty Maven Plugin:Please initialize the log4j system properly(转)

    解决Jetty Maven Plugin:Please initialize the log4j system properly.Jetty Maven Plugin环境: <plugin> ...

随机推荐

  1. STL源码分析读书笔记--第二章--空间配置器(allocator)

    声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ...

  2. Python中list的实现

    原文链接这篇文章介绍了Python中list是如何实现的.在Python中list特别有用.让我们来看下list的内部是如何实现的.来看下面简单的程序,在list中添加一些整数并将他们打印出来. &g ...

  3. 两个实用的Python的装饰器

    两个实用的Python的装饰器 超时函数 这个函数的作用在于可以给任意可能会hang住的函数添加超时功能,这个功能在编写外部API调用 .网络爬虫.数据库查询的时候特别有用 timeout装饰器的代码 ...

  4. XML转换为Map通用算法实现 Java版本(Stax实现)

    目前项目中需要将XML转换为Map,下面给出了自己的代码实现. 后续将为大家提供Dom版本的实现. 请各路大神给予各种优良实现. 场景: 在项目中需要解析XML文本字符串,需要将XML文本字符串映射为 ...

  5. [POJ] #1004# Financial Management : 浮点数运算

    一. 题目 Financial Management Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 173910   Acc ...

  6. html5 canvas图片反色

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 给Asp.net MVC Forms 验证设置角色访问控制

    当我们使用Asp.net MVC Forms方式验证用户, 然后设置Controller 或 Action 的 Authorize属性时, 默认情况下只有Users属性可以设置(这里的Users通常是 ...

  8. 第二百一十八天 how can I 坚持

    真的是自以为是吗?或许是我想太多. 今天下雪了,2015年入冬以来的第一场雪,好冷. 又是一周. 睡觉吧,明天老贾生日. 没啥了,中午有点肚子疼,冬天了要注意.

  9. 网上关于sort结构体排序都不完整,我来写一个完整版的 2014-08-09 16:50 60人阅读 评论(0) 收藏

    主要参考sort函数_百度文库, 但是那篇有错误 2.结构体排序,a升,b降,c降 平板视图 打印? 01 #include <iostream> 02 #include <algo ...

  10. mysql创建用户两次授权

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'     ->     IDENTIFIED BY 'some_pass' ...