zoukankan      html  css  js  c++  java
  • 用IntelliJ IDEA创建Gradle项目简单入门

    原文链接:http://www.cnblogs.com/guogangj/p/5465740.html

    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强去哪里,仅仅是配置文件好看了点,等以后如有时间,我再来整理整理了。

  • 相关阅读:
    【Excel】获取网页标题的VBA
    【IIS】windows2008 ii7 设置访问网站提示帐号密码登录
    【JS】JQUERY链接符大全
    【.NET】Repeater控件简单的数据绑定(有bool,日期,序号)
    CXF远程接口调用 用户名密码校验的方法:
    HTTP 请求/响应 设置/获取 Header参数
    zookeeper 实现分布式锁 demo(新)
    两个 中国标准时间 判断大小
    rabbitMq完整通信(三)---测试类
    rabbitMq完整通信(二)---consumer
  • 原文地址:https://www.cnblogs.com/ieayoio/p/5689507.html
Copyright © 2011-2022 走看看