一.使用Gradle的java插件构建Java项目

1)Gradle插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' ,此处我们定义插件

apply plugin : 'java'

2)Gradle希望我们的java项目需要遵循以下规范:

    src/main/java :放置java源文件
    src/test/java :放置测试文件,比如单元测试等
    src/main/resources: 此目录下的文件会被作为资源文件打入jar包
    src/test/resources: 放置提供给测试用的配置文件


3) java插件包含了若干个构建项目的任务,最常用的就是build任务,当我们运行build任务时,Gradle会编译,运行我们的测试脚本(类)并生成jar文件在build/lib下

4) 其他常用的任务:
    clean:删除已经构建的目录及其文件
    assemble:编译并生成Jar或者war文件,注意不会运行测试文件
    check:编译并测试代码

二.外部依赖

1)和maven类似,如果要在项目中添加所依赖的外部jar文件,我们必须要告诉Gradle在哪里找到它们
语法:

 1 repositories {
 2     jcenter()
 3     mavenLocal() //maven本地仓库
 4     mavenCentral() //maven中心仓库
 5     /*
 6         指定maven远程仓库地址
 7      */
 8     maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
 9     maven { url "http://repo.spring.io/snapshot" }
10     maven { url "http://repo.spring.io/milestone" }
11 }

2)当指定好仓库地址时,我们可以添加依赖
语法:

dependencies{compile group:'类似于maven中的groupid',name:'类似于maven中的affactid',version:'版本号'compile 'group:name:version'
}

三.java多项目构建

1)gradle也可以支持多项目构建,比如说如下项目:

  multiproject/
    api/
    services/webservice/
    shared/
    services/shared/
2)此时我们要在settings.gradle里配置 依赖的模块:

include "shared", "api", "services:webservice", "services:shared"


3)比如说 shared模块要依赖api模块 我们可以在shared模块中的build.gradle文件中这样写:

dependencies {compile project(':shared')
}

4)常见属性
sourceCompatibility: 使用哪种JDK版本编译
targetCompatibility : 生成class的Java版本

四。构建web项目

1)需要添加web插件:apply plugin:'war'
2) war任务 主要用于将web应用程序打包成war
3) 与maven规范一致:web的相关资源位于src/main/webapp下

使用示例:

war {from 'src/rootContent' // adds a file-set to the root of the archivewebInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
}

另外我们可以设置webAppDirName来指定我们web上下文路径

 

转载于:https://www.cnblogs.com/niechen/p/8270654.html

Gradle学习之构建java与web项目相关推荐

  1. 《从零构建前后分离web项目》:开篇 - 纵观WEB历史演变

    开篇 : 纵观WEB历史演变 在校学习和几年工作工作中不知不觉经历了一半的 WEB 历史演变.对近几年的发展比较了解,结合经验聊聊 WEB 发展历史. 演变不易,但也是必然,因为为人始终要进步. WE ...

  2. spring boot构建基础版web项目(一)springboot、thymeleaf控制层基础构

    原文作者:弥诺R 原文地址:http://www.minuor.com/147852147/article 转载声明:转载请注明原文地址,注意版权维护,谢谢! 写前说明 根据个人在各篇博文中看到的信息 ...

  3. Maven构建多模块web项目(IDEA)

    title: Maven构建多模块web项目(IDEA) 项目结构 dangmanager => 父模块 manager_common => 公共模块(如工具类) manager_pojo ...

  4. jsp项目在idea需要导入什么依赖_idea中的java web项目(添加jar包介绍)和java maven web项目目录结构...

    java web项目 web项目下web根目录名称是可以更改的 idea中新建java web项目,默认src为Sources Root,当然也可以手动改,在Sources Root下右键只能新建Pa ...

  5. myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目

    下载 Maven http://maven.apache.org/download.cgi,解压到任意非C盘位置,比如:D:\Java\apache-maven-3.1.0 打开 Myeclipse ...

  6. Java springmvc web项目,基于maven的hello world入门级项目使用IntelliJ IDEA 2017版本

    IntelliJ IDEA使用教程 (总目录篇) 使用这个IntelliJ IDEA创建一个简单的Java web maven项目,我在前面的文章里面已经示范过了. 地址:IntelliJ IDEA ...

  7. Gradle学习之使用java plugin

    请通过下面方式下载本系列文章的Github演示样例代码:   git clone https://github.com/davenkin/gradle-learning.git     Gradle最 ...

  8. 03)java spi应用 java spring web项目 去除web.xml

    上一节 学习完了 原始 java web项目 无web.xml怎么配置servlet 这节学习 java web项目 无web.xml怎么集成spring框架 使用过web.xml集成spring框架 ...

  9. java basedaoimpl_java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl

    在spring+hibernate的web项目中,处理数据层通常会使用Spring框架提供的HibernateTemplate类提供的方法.通常的用法是每一个实体类对应的去写DAO层的接口和实现类.每 ...

最新文章

  1. 谈“云”色变?近80%企业曾遭受数据泄露
  2. 购买《四级网络工程师预测试卷与考点解析》,哪里最便宜?
  3. python使用符号#表示单行注释-Python中注释(多行注释和单行注释)的用法实例...
  4. 朴素贝叶斯算法和逻辑回归算法的区别?
  5. 多媒体表示、描述、编码以及通信的相关规定和标准课程总结
  6. LeetCode 1694. 重新格式化电话号码(模拟)
  7. flex Module之间的通信
  8. 迁移用友U8 ERP服务器
  9. 传智播客 多继承以及MRO顺序 学习笔记
  10. python清洗数据去除停用词_python去除停用词(结巴分词下)
  11. 用户自治的数字身份在我国的标准
  12. Unity3D放破解反编译。DLL加密,mono解密。全程详解。
  13. 语法分析——自顶向下分析方法
  14. DiskGenius屏蔽硬盘坏道方法
  15. 人类的社会制度:封建制度(封建社会)
  16. 解决nginx 503 Service Temporarily Unavailable 方法
  17. 前端如何进行seo优化
  18. 心跳检测,用oob实现
  19. 《密码法》之商用密码应用安全性评估----六问
  20. 中国芯片争论:买关键技术还是自己重新研发?

热门文章

  1. BugkuCTF-Reverse题signin
  2. oracle数据库pfile文件,Oracle pfile/spfile参数文件详解
  3. cookie里面用到的关键字_晓龙吊打面试官系列:synchronized关键字入门(同步方法与同步代码块)...
  4. linux 中w和x 区别,r、w、x权限在文件和目录中的含义有何区别?
  5. linux mysql revoke_Linux环境下MySQL基础命令(4)----数据库的用户授权
  6. linux docker权限,linux - 如何解决ubuntu中的docker权限问题? - Ubuntu问答
  7. python异步框架twisted_Python学习八十七天:使用异步的twisted框架写入数据
  8. java 调用对象的方法_JAVA调用对象方法的执行过程
  9. 2011年计算机一级考试题,2011年计算机一级考试试题及答案
  10. navicat for mysql 13_Navicat for MySQL下载