gradle使用学习(一)————环境与配置

gradle使用学习(一)————环境与配置


整理一些学习成果备忘。

首次使用gradle时,如果不配置环境变量,则gradle会在用户目录下(在Windows下是C盘的目录)创建.gradle目录,并将下载的依赖文件保存在这个目录里。
如果不想使用缺省目录,则可以设置环境变量GRADLE_USER_HOME的路径,可改变gradle的缓存目录。


1.使用

执行
gradle tasks
看可以使用的tasks

执行
<span style="color:#3366ff;">gradle init</span>
可以初始化一个build.gradle文件。


2.建立一个build.gradle文件,增加一行
<span style="color:#3366ff;">apply plugin: 'java'</span>
后执行
<span style="color:#3366ff;">gradle tasks</span>
可以看到新增加的Task列表。


3.此时执行
<span style="color:#3366ff;">gradle build</span>
也可以Build出一个Jar文件


4.使用
<span style="color:#3366ff;">gradle init --type java-library</span>
可以创建一个Java工程的目录结构和build.gradle文件。将文件里使用的仓库改使用为Maven的仓库:
<span style="color:#3366ff;">mavenLocal()
mavenCentral()</span>
这里的mavenCentral是指外网的Maven服务器,不是私服。如果要使用私服,需要加
<span style="color:#3366ff;">repositories {
    maven {
        url "http://<自己的IP>/nexus/content/groups/kypublic/"
    }
}</span>
对于一个软件公司,通常有自己的Maven服务器,所以不需要加mavenCentral。
虽然使用Maven本地仓库,但gradle执行时还是要读到gradle自己的缓存目录中。


5.下载的gradle工程里面依赖的仓库地址的修改
一般来说可以按上面的方式修改配置文件,如果不想修改开源产品的配置文件,则通过动态修改对Maven服务器请求的地址,也可以转到自己的Maven服务器。
在上面说的gradle的缓存目录下,建一个文件:init.gradle。文件内容如下:
<span style="color:#3366ff;">allprojects{
    repositories {
        def REPOSITORY_URL = 'http://<自己的IP>/nexus/content/groups/kypublic/'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}</span>
这样可以将对外网Maven服务器的请求,转到使用自已的Maven服务器。


7.将Maven项目转为gradle项目
<span style="color:#3366ff;">gradle init --type pom</span>

8.命名生成的JAR文件
<span style="color:#3366ff;">jar {
    baseName = 'gs-gradle'
    version =  '0.1.0'
}</span>

9.发布到Maven本地
<span style="color:#3366ff;">task sourceJar(type: Jar) {
  classifier "sources"
}

publishing {
    publications {
        mavenJava(MavenPublication) {
		    groupId 'org.gradle.sample.impl'
            artifactId 'project2-impl'
            version '2.3'
			
            from components.java
			artifact sourceJar
        }
    }
}</span>

10.发布到Maven仓库
对于发布到snapshots,版本号必需为snapshots的格式,否则发布不成功
<span style="color:#3366ff;">task sourceJar(type: Jar) {
  classifier "sources"
}

publishing {
    publications {
        mavenJava(MavenPublication) {
		    groupId 'org.gradle.sample.impl'
            artifactId 'project2-impl'
            version '3.6.0-SNAPSHOT'
			
            from components.java
			artifact sourceJar
        }
    }
}
publishing {
    repositories {
        maven {
            // change to point to your repo, e.g. http://my.org/repo
            url "http://<自己的IP>/nexus/content/repositories/snapshots/"
			credentials { 
              username  'user1' 
              password  'pw1' 
            }
        }
    }
}</span>

当然Maven服务器的用户名和密码不应该直接写在工程的配置文件中,可以在gradle的GRADLE_USER_HOME目录下加个gradle.properties文件,内容如下:
<span style="color:#3366ff;">MAVEN_USER=admin
MAVEN_PASSWORD=admin</span>
然后将上面的内容改为为
<span style="color:#3366ff;">publishing {
    repositories {
        maven {
            // change to point to your repo, e.g. http://my.org/repo
            url "http://<自己的IP>/nexus/content/repositories/snapshots/"
			credentials { 
              username  MAVEN_USER 
              password  MAVEN_PASSWORD 
            }
        }
    }
}</span>

然后执行命令
<span style="color:#3366ff;">gradle publish</span>


参考:

https://docs.gradle.org/current/release-notes
http://www.cnblogs.com/xguo/p/3175377.html
http://www.iteye.com/topic/1134762


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值