gradle和maven结合nexus服务解决jar包依赖

1、架设 nexus
nexus 的基础不多讲了,去官网下载个最新的 包吧,她使用jetty作为内置的 http-server,服务端口默认为8081, 账号管理员为  admin, 密码为 admin123, 安装后,我的访问地址为:http://172.19.2.204:8081/nexus/;(我的版本为 Sonatype Nexus™ 2.8.1-01 ),关于管理,配置 网上有很多介绍,自己去看吧。

2、gradle 中使用 maven 库

  建立 gradle 项目后,在  build.gradle 中加入下列配置。
 
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'


sourceCompatibility = 1.7
targetCompatibility = 1.7 

group = "com.suneee.play"
version = "0.1.0-SNAPSHOT"

defaultTasks 'clean', 'jar'

task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java

            artifact sourceJar {
                classifier "sources"
            }
        }
    }
    repositories {
        maven {
            url "http://172.19.2.204:8081/nexus/content/repositories/snapshots" 
            credentials {
              username 'admin'
              password 'admin123'
            }
        }
    }
}

repositories {
    mavenLocal()
mavenCentral()
maven { url "http://172.19.2.204:8081/nexus/content/groups/public/" }
}

dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '1.1.4.RELEASE'
  
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}

运行 gradle -q publish 可发布 源代码, classed-jar 包到 204 的 nexus 库。
注意:
  1、 jar包的 名字(artifactId) 使用项目名称;
  2、 version 设置 和 publish 的 地址要匹配, releases 地址对应到真实版本, snapshots地址对应为  snapshot版本(如:version=0.1.2.snapshot)。

3、在其他项目中引用发布的包,
   只要在 build.gradle 文件的 dependencies 加类似:
   compile group: 'group值', name: 'artifactId值', version: 'version值'

   在 eclipse 环境下,就能查看 jar 包的源代码,自动构建 类路径。

   不多说了, gradle 博大精深,eclipse 有插件,修改 build.gradle 文件后 refresh 来检测问题。


你可能感兴趣的:(gradle)