1、在idea中创建简单的java gradle项目
先安装好Gradle,创建新项目,选择Gradle,选择对应的JDK,勾选Java:
下一步输入对应的"GAV":
对Gradle的工程进行初始化设置:
指定工程创建位置:
完成创建:
仔细看Gradle面板出现红线提示,刷新Gradle时出现错误提示:
编辑build.gradle文件,将下面的仓库配置替换:
repositories {
mavenCentral()
}
成为下面的内容:
repositories {
mavenLocal()
maven
{
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
}
创建一个测试java类:
修改build.gradle文件:
group 'maxwoods.sample'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.8
mainClassName = 'maxwoods.sample.HelloGradle'
repositories {
mavenLocal()
maven
{
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
加入了插件application,并指定了启动类mainClassName,刷新Gradle,会多出applicaiton的task,"run",双击即可运行:
可以看到gradle的输出:
点击上图标注的位置,可以切换到控制台输出:
若要更改JDK为指定的编译版本,如修改为1.7,修改配置如下所示:
group 'maxwoods.sample'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.7
targetCompatibility = 1.7
mainClassName = 'maxwoods.sample.HelloGradle'
repositories {
mavenLocal()
maven
{
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
项目的编译版本也对应设置为1.7:
否则会引起编译警告:
2、解释gradle的操作原理
上面的步骤中我们已经创建了项目,并且成功地运行了。该项目使用的XXX类,它是一个Apache类,而不是在JDK的标准库中的类。传统上做法,必须将这个类库复制到项目并声明类路径。但是,这里并不需要像传统方式那样复制和声明类路径。这些类库可以让gradle
来管理。 现在来看看Gradle
是如何工作的,如下图中所示 -
上图显示了Gradle工作的整个过程,下面我们一步步来说明。
- 在build.gradle
中声明了该项目依赖于common-lang3
库版本3.0
。
- 当使用Gradle工具刷新项目时,Gradle将检查指定的依赖库是否在计算机上有本地存储库。 如果没有,Gradle将从互联网的存储库中下载到本地。
- 最后,Gradle将自动声明Classpath
。
所以只需要在build.gradle
文件中声明所有想要使用的库,这些库由Gradle
自己管理。
3、查看本地存储库
你会不会有这样的一个问题:本地存储库在我电脑的什么位置?如果是按上面所有套路来创建工程,那么看下图就知道了 -
而上面配置中使用到的 commons-lang3
库的路径在 C:\Users\Administrator\.gradle\caches\modules-2\files-2.1\org.apache.commons
,如下图所示 -
修改本地库的位置
然后refresh gradle,可以看见依赖的jar包呗下载到了“F:/bupt/project/testGradle"中
关于gradle的更多配置信息,可以参考https://www.jianshu.com/p/ff7ba0efc993
4、参考博客
https://blog.youkuaiyun.com/wesoner/article/details/54945031
https://blog.youkuaiyun.com/csdnlijingran/article/details/79447575