Gradel 安装配置及使用

分享知识 传递快乐


一、配置环境变量

打开 系统属性->高级->环境变量-系统变量 中添加:

GRADLE_HOME:D:\Apache\Gradle\gradle-5.3-all
GRADLE_USER_HOME:D:\Apache\Gradle\repository //可省略
PATH:;%GRADLE_HOME%\bin;

验证是否配置成功,进入cmd后,输入:

gradle -v



二、Eclipse 安装 Gradle 插件

Help->Eclipse Marketplace… 打开窗口后输入 “Gradle” 进行安装。安装完成配置 Gradle 路径和指定仓库路径,即可正常使用。




三、配置Gradle的仓库路径修改的四种方法

方法一:

修改gradle.properties文件,增加一句

gradle.user.home=D:/Apache/Gradle/repository

但这种方法,需要每个项目文件都要改一遍,如果只是临时修改,可以采用这种方法,如果是针对所有项目的,不建议这种方法。

方法二:

Window->Preferences->Gradl 选择 “Local installation directory” 点击 “Browes…” 选择gradle路径;在 “Gradle user home” 中指定仓库位置; “Java home” 指定JDK,到此整个配置已结束。

方法三:

修改gradle启动脚本,进入gradle安装的bin目录,使用文本编辑器打开gradle.bat文件,在 “set APP_HOME=%DIRNAME%” 下面添加以下语句:

set GRADLE_OPTS="-Dgradle.user.home=D:/Apache/Gradle/repository"

方法四:

以上几种方法,都不是最理想的方法,下面推荐Windows环境变量设置gradle仓库目录:

变量名:GRADLE_USER_HOME
变量值:D:\Apache\Gradle\repository



四、创建项目

在Eclipse中右击 New->Other->Gradle->Gradle Project 打开 “New Gradle Project” 输入项目名后 “Next”, 打开 “Options” 窗口,如果在Eclipse已经配置了Gradle,直接点击 “Next” ,如果没有配置请选择 “Override Workspace Settings” ,才可以选择 “Gradle distribution” 下的选项,选择 “Local installation directory” 点击 “Browes…” 选择gradle路径;在 “Gradle user home” 中指定仓库位置; “Java home” 指定JDK,配置完成后点击 “Next” Gradle开始更新缓存,最后点击 “Finish” 完成(可省略)。

Confingure Workspace Settings是查看已配置的信息




五、Gradle配置build.gradle

创建Gradle项目后,build.gradle默认配置如下:

/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java Library project to get you started.
 * For more details take a look at the Java Libraries chapter in the Gradle
 * User Manual available at https://docs.gradle.org/5.3/userguide/java_library_plugin.html
 */

plugins {
    // Apply the java-library plugin to add support for Java Library
    id 'java-library'
}

repositories {
    // Use jcenter for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    jcenter()
}

dependencies {
    // This dependency is exported to consumers, that is to say found on their compile classpath.
    api 'org.apache.commons:commons-math3:3.6.1'

    // This dependency is used internally, and not exposed to consumers on their own compile classpath.
    implementation 'com.google.guava:guava:27.0.1-jre'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'
}

Gradle build.gradle文件配置项

build.gradle文件配置是个人所查获的部分配置,详细内容看官网;如果有更详细的请留言分享。

根据java web项目,及官方文档,build.gradle配置如下:

/*
 * This file was generated by the Gradle "init" task.
 *
 * This generated file contains a sample Java Library project to get you started.
 * For more details take a look at the Java Libraries chapter in the Gradle
 * User Manual available at https://docs.gradle.org/5.3/userguide/java_library_plugin.html
 */
 
apply plugin: "java" //Java的JDK
apply plugin: "eclipse" //eclipse项目插件
apply plugin: "war" //项目构建输出war
apply plugin: "eclipse-wtp" //web传输层插件
apply plugin: "java-library" //Java Library插件通过提供有关Java库的特定知识来扩展Java插件的功能
apply plugin: "maven" //Maven插件
apply plugin: "maven-publish" //Maven 发布插件

//group和version分别为项目的所在组和版本信息。和Maven类似,而artifactId在gradle则是项目的name,值保存在settings.gradle文件的rootProject.name中。
group = "com.xh.mvc" //坐标 
version = "0.0.1-SNAPSHOT" //版本
description = "gradle-mvc" //描述

sourceCompatibility = "1.8" //Jdk版本 指定编码环境
targetCompatibility ="1.8" //Jdk版本 指定编译环境
buildDir="D:/Eclipse/新建文件夹" //war 输出路径 
webAppDirName = "webapp"  //设置 WebApp 根目录  


//禁止eclipse下载源码
eclipse {
    classpath {
		downloadSources = false
		downloadJavadoc = false
    }
}

war {
    baseName = "gradle-mvc" //war名称
    version = "0.0.1.mvc-SNAPSHOT"//war版本号:baseName+"-"+version
}

//创建Java文档,配置了这个任务后,执行gradle的javadoc命令,可以自动生产javaDoc文档。前提当然你自己有给类和方法按规范添加注解。
task createJavadoc(type: Javadoc)  {
  source = sourceSets.main.allJava
}

//repositories仓库
repositories {
	//jcenter() 默认仓库
	//mavenLocal()//添加Maven本地资源库
  	//mavenCentral()//添加Maven中央资源库,表示会从Maven中央库获取数据。
	//自定义仓库
	maven{
    	url "http://central.maven.org/maven2/"
    }
}

//声明外部属性一
ext.druidVersion = "1.1.10"
ext.fastjsonVersion = "1.2.56"

dependencies {
	//声明外部属性二
    def springVersion = "4.3.3.RELEASE"
    //声明外部属性三
    ext{
        hibernateVersion = "5.3.3.Final"
    }

	
	compile group: "org.apache.commons", name: "commons-lang3", version: "3.8.1"
	compile group: "commons-io", name: "commons-io", version: "2.6"

   // spring library
    compile group: "org.springframework", name: "spring-aop", version: "$springVersion"
    compile group: "org.springframework", name: "spring-aspects", version: "$springVersion"
    compile group: "org.springframework", name: "spring-beans", version: "$springVersion"
    compile group: "org.springframework", name: "spring-context", version: "$springVersion"
    compile group: "org.springframework", name: "spring-context-support", version: "$springVersion"
    compile group: "org.springframework", name: "spring-core", version: "$springVersion"
    compile group: "org.springframework", name: "spring-expression", version: "$springVersion"
    compile group: "org.springframework", name: "spring-jdbc", version: "$springVersion"
    compile group: "org.springframework", name: "spring-orm", version: "$springVersion"
    compile group: "org.springframework", name: "spring-test", version: "$springVersion"
    compile group: "org.springframework", name: "spring-tx", version: "$springVersion"
    compile group: "org.springframework", name: "spring-web", version: "$springVersion"
    compile group: "org.springframework", name: "spring-webmvc", version: "$springVersion"
	compile group: "org.hibernate", name: "hibernate-entitymanager", version: hibernateVersion
	compile group: "org.hibernate", name: "hibernate-ehcache", version: hibernateVersion
	compile group: "com.alibaba", name: "druid", version: druidVersion
	compile group: "com.alibaba", name: "fastjson", version: fastjsonVersion
	compile group: "mysql", name: "mysql-connector-java", version: "8.0.13"
	compile group: "log4j", name: "log4j", version: "1.2.17"
	compile group: "org.slf4j", name: "slf4j-api", version: "1.7.25"
	
	testCompile group: "org.slf4j", name: "slf4j-log4j12", version: "1.7.25"
	testCompile group: "org.slf4j", name: "slf4j-simple", version: "1.7.25"
	testCompile group: "junit", name: "junit", version: "4.12"
	
	compile group: "javax.servlet", name: "javax.servlet-api", version: "3.1.0"
	compile group: "javax.servlet", name: "jstl", version: "1.2"
	compile group: "javax.servlet.jsp", name: "javax.servlet.jsp-api", version: "2.2.1"
}

publishing {
    publications {
        maven(MavenPublication) {
            from components.java
        }
    }
}

//设置charset字符编码
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

mavenLocal()表示会从本地获取资源,获取资源的顺序为:

%USER_HOME%/.m2/settings.xml中指定的路径

%M2_HOME%/conf/settings.xml中指定的路径

%USER_HOME%/.m2/repository

注:这里发现一个BUG,按照官方文档说,如果系统用户文件夹下的.m2中不存在settings.xml文件会自动去找%M2_HOME%的settings.xml文件,实际却不会,然后直接指向了%USER_HOME%/.m2/repository。建议自定义maven本地库的,把%M2_HOME%的settings.xml文件COPY一份到%USER_HOME%/.m2目录下即可。

Maven类似,gradle导入依赖包也可以定义其作用的生命周期:

compile:编译时必须。

runtime:运行时必须,包括编译时。

testCompile:测试编译时必须。

testRuntime:测试运行时必须,包括编译时。

注:此外配置依赖包,还可以模块化配置、导入list、配置是否传递等


plugin插件配置

apply plugin: 'java' //Java的JDK
apply plugin: 'eclipse' //eclipse项目插件
apply plugin: 'war' //项目构建输出war
apply plugin: 'eclipse-wtp' //web传输层插件
apply plugin: 'java-library' //Java Library插件通过提供有关Java库的特定知识来扩展Java插件的功能
apply plugin: "maven" //Maven插件
apply plugin: "maven-publish" //Maven 发布插件

或者

plugins {
    id 'java'
	id 'eclipse'
	id 'java-library'
	id 'war'
	id 'eclipse-wtp'
	id 'java-library'
}

ext是自定义属性

现在很多人都喜欢把所有关于版本的信息都利用ext放在另一个自己新建的gradle文件中集中管理。

例如:

首先我们新建两个文件,分别叫build.gradle和version.gradle

version.gradle

ext{
	versionName = "1.0.0"
	versionCole = "1"
}

build.gradle

apply from: "version.gradle"

task printStringClass{
    println "当前版本是${versionName}"
}	

结果:

> Configure project :
当前版本是1.0.0



六、maven与gradle转换

maven -> gradle

先保证本机安装了gradle 2.0以上的版本,然后在maven项目的根目录下运行

gradle init --type pom
gradle -> maven

在build.gradle中增加以下内容(group,version可自行修改,artifactId默认为目录名称)

apply plugin: 'java'
apply plugin: 'maven'
group = 'com.101tec'
version = '0.7-dev'
sourceCompatibility = 1.6

然后./gradlew build ,成功后将在build\poms目录下生成pom-default.xml文件,把它复制到根目录下,改名成pom.xml即可。

当然,通过修改build.gradle 也可以直接在根目录下生成pom.xml

task writeNewPom << {
    pom {
        project {
            inceptionYear '2008'
            licenses {
                license {
                    name 'The Apache Software License, Version 2.0'
                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    distribution 'repo'
                }
            }
        }
    }.writeTo("$buildDir/pom.xml")
}









源码下载地址:https://gitee.com/xhai/projects

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野历程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值