您的位置:首页 > 其它

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

2016-03-23 21:17 549 查看

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.cnblog 4000
s.com/xguo/p/3175377.html http://www.iteye.com/topic/1134762[/code] 
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gradle