用IntelliJ IDEA创建Gradle项目简单入门
Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都有,且看起来更漂亮,咱么就用起来吧。
装好Intellij IDEA之后,Gradle也就默认装好了,现在我们仅需直接创建工程:

当然选择Java了,Next:

GroupId,ArtifactId和Version,咋看起来和Maven一样?其实就是一样,后面我们还继续使用Maven的仓库呢。Next:

Use auto-import和Create directories for empty content roots automatically这两个选项勾上,Next:

填入项目名称,位置,OK,Finish。我们来看看项目的目录结构:

- .gradle,gradle的相关支持文件,不用管
- .idea,IntelliJ IDEA的相关文件,不用管
- build,构建生成物,存放项目构建中生成的class和jar包
- gradle,一个gradle的包装程序,貌似直接用gradle不太好,得再包一层,这个其实我们也不用管
- src,我们写代码的地方,不用说了吧
- build.gradle,gradle的构建配置,这是我们要关心的,相当于Maven的pom.xml
- GradleLearn.iml,IntelliJ IDEA的项目文件
- gradlew,一段gradle wrapper的运行脚本,For *nix
- gradlew.bat,一段gradle wrapper的运行脚本,For Windows
我用上一篇文章提供的小程序为例子(Java的异步HttpClient),看看如何引入httpasyncclient,打开我们新的“pom.xml”(build.gradle):
group 'com.gornix'
version '1.0-SNAPSHOT' apply plugin: 'java' sourceCompatibility = 1.8 repositories {
mavenLocal()
mavenCentral()
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
dependencies {
compile group: 'org.apache.httpcomponents', name:'httpasyncclient', version:'4.1.1'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
红色字体部分是我修改过的,看看build.gradle是不是比pom.xml好看多了,相当简练对吧。
其中mavenCentral()句话的意思是使用Maven的容器获取依赖,而加上mavenLocal()这句话之后,Gradle会尝试先从本地Maven缓存中获取jar包,这样会更快一些,下面的dependencies则是各种依赖包了,compile表示编译时依赖,而testCompile表示执行单元测试时的编译的依赖。task.withType()这段表示使用UTF-8编码,为了避免编译的问题,我们全部使用UTF-8编码即可,嗯,是全部文本文件!
OK,点一下Gradle工具窗口中的刷新:

这时候你展开Project窗口中的External Libraries查看的话,应该就能看到相关的包被引用进来了。
别的好像没什么差别了,这篇文章仅仅是一篇“简单入门”文章,所以没太多内容,我们仍然看不到Gradle比Maven强去哪里,仅仅是配置文件好看了点,等以后如有时间,我再来整理整理了。
用IntelliJ IDEA创建Gradle项目简单入门的更多相关文章
- 使用IntelliJ IDEA 创建Maven项目(入门)
一. 下载Maven 下载地址:http://maven.apache.org/download.cgi tar.gz压缩格式用于unix操作系统,而zip用于windows的操作系统,但在windo ...
- Intellij Idea 创建Web项目入门(一)转
Intellij Idea 创建Web项目入门(一) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.bai ...
- JavaEE——Intellij Idea 创建JavaWeb项目
原文:JavaEE--Intellij Idea 创建JavaWeb项目 折腾Tomcat折腾了两个晚上,第一个晚上怎么都进不了Tomcat的首页,第二个晚上进去了,但是新建的Web项目,在浏览器中运 ...
- IntelliJ IDEA创建java项目
IntelliJ IDEA创建java项目 进入到IntelliJ IDEA启动界面,点击Create New Project 2.这样就进入到了创建项目页面,这里可以创建好多项目,这里我们以java ...
- 修改Intellij Idea 创建maven项目默认Java编译版本
在使用Intellij Idea 创建Maven项目时,默认的Java Language是1.5,虽然可以在Project Structrue中修改,但是每次pom.xml文件有变化时,工程又会重置到 ...
- 解决IntelliJ IDEA 创建Maven项目速度慢问题
IntelliJ IDEA 创建maven项目速度很慢,甚至卡住不动了. 原因 IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行 ...
- 一、IntelliJ IDEA创建java项目
一.IntelliJ IDEA创建java项目 二.IntelliJ IDEA下载并包含jdbc包 1.下载zip格式的驱动包:https://dev.mysql.com/downloads/conn ...
- IntelliJ IDEA创建web项目
Intellij IDEA 创建Web项目并在Tomcat中部署运行 一.创建Web项目 1.File -> New Module,进入创建项目窗口 2.选择Java类型,在 Module na ...
- vue-cli脚手架搭建项目简单入门一
搭建系统: Windows系统 简单了解Node.js.npm,安装Node.js,下载网址:http://nodejs.cn/download/ 查看node,npm安装成功与否.打开cmd命令行, ...
随机推荐
- nohup程序后台执行
Linux常用命令,用于不挂断的执行程序. nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终端之后继续运行相应 ...
- Shell替换
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is ...
- Springmvc数据校验
步骤一:导入四个jar包 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- CRC、反码求和校验 原理分析
3月份开始从客户端转后台,算是幸运的进入全栈工程师的修炼阶段.这段时间一边是老项目的客户端加服务器两边的维护和交接,一边是新项目加加加班赶工,期间最长经历了连续工作三天只睡了四五个小时的煎熬,人生也算 ...
- SQLServer执行命令出现“目录无效的提示”
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...
- PHP之时间和日期函数
// 时间日期函数 Time <?php date_default_timezone_set('UTC'); // 获取当前时间的时间戳 $time0 = mktime(); $time1 = ...
- 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)
很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...
- 初学seaJs模块化开发,利用grunt打包,减少http请求
原文地址:初学seaJs模块化开发,利用grunt打包,减少http请求 未压缩合并的演示地址:demo2 学习seaJs的模块化开发,适合对seajs基础有所了解的同学看,目录结构 js — —di ...
- C# 数组的交集、差集、并集
C# 数组的交集.差集.并集 工作中经常会用这方面的知识来检查那些字段是必须输入的,那些是禁止输入. using System; using System.Collections.Generic; u ...
- Java类访问权限修饰符
一.概要 通过了解Java4种修饰符访问权限,能够进一步完善程序类,合理规划权限的范围,这样才能减少漏洞.提高安全性.具备表达力便于使用. 二.权限表 修饰符 同一个类 同一个包 不同包的子类 不同包 ...