一.使用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在哪里找到它们
语法:

 repositories {
jcenter()
mavenLocal() //maven本地仓库
mavenCentral() //maven中心仓库
/*
指定maven远程仓库地址
*/
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
}

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 archive
webInf { 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上下文路径

 

Gradle学习之构建java与web项目的更多相关文章

  1. (转)关于java和web项目中的相对路径问题

    原文:http://blog.csdn.net/yethyeth/article/details/1623283 关于java和web项目中的相对路径问题 分类: java 2007-05-23 22 ...

  2. eclipse构建maven的web项目(转载)

    eclipse构建maven的web项目 分类: java opensource2013-12-25 16:22 43人阅读 评论(0) 收藏 举报 maven框架webappwebeclipse 使 ...

  3. java做web项目比较多

    WEB就是轻量级:如果要炫,FLEX或即将普及的html5.0都能做到像C/S那样. java做web项目比较多:如果是桌面程序,还是走C/S比较成熟. 如果是B/S架构的,后台还是JAVA,前台可以 ...

  4. Maven实现项目构建直接部署Web项目到Tomcat

    Maven实现项目构建直接部署Web项目到Tomcat配置如下: 1.Tomcat的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户. <ro ...

  5. idea中的java web项目(添加jar包介绍)和java maven web项目目录结构

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

  6. Maven学习篇一:eclipse构建运行maven web项目

    1.new->other->maven project->next 2.选择创建简单项目(或者直接去掉勾,在后面选择maven-archetype-webapp) 3.设置坐标,名称 ...

  7. Gradle学习之使用java plugin

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

  8. 使用maven构建基本的web项目结构

    由于当前公司在组织进行项目基本结构的整理,将以前通过eclipse/ ant 方式构建的项目向maven上迁移,于是便进行maven项目方面的调研. 对于maven项目,基本的结构已经在标准文件中: ...

  9. Maven学习 (三) 使用m2eclipse创建web项目

    1.首先确认你的eclipse已经安装好m2eclipse的环境,可以参照上两篇Maven学习内容 2.新建一个maven的项目 3.下一步默认配置,使用默认的工作空间,或者你可以自己选择其他的空间 ...

随机推荐

  1. Jenkins 安装、配置与项目新建及构建

    1.Jenkins的安装与配置 1.1 java环境配置 Jenkins基于Java, Linux下安装java只要配置java环境变量即可. 首先,解压java到相应目录,我一般习惯把安装的软件放到 ...

  2. vue+mint-ui的微博页面(支持评论@添加表情等)

    github地址 https://github.com/KyrieZbw/Sneakers (如果觉得不错就给个小星星) 预览地址 页面展示 技术栈 vue2 + vuex + vue-router ...

  3. 1.phpStrom连接远程代码

    1.选择一个新的文件 2.选择自己需要的传输方式 3.添加项目名+路径 4.填写连接基本信息 5.配置成功,下载完毕后,设计本地与远程代码同步修改 自此本地修改代码,同时修改远程服务器代码就设置完毕~ ...

  4. istio入门(05)istio的架构概念2

  5. 彻底理解了call()方法,apply()方法和bind()方法

    javascript中的每一个作用域中都有一个this对象,它代表的是调用函数的对象.在全局作用域中,this代表的是全局对象(在web浏览器中指的是window).如果包含this的函数是一个对象的 ...

  6. java循环遍历类属性 get 和set值方法

    //遍历sqspb类 成员为String类型 属性为空的全部替换为"/"Field[] fields = sqspb.getClass().getDeclaredFields(); ...

  7. tornado框架源码分析---Application类之debug参数

    先贴上Application这个类的源码. class Application(httputil.HTTPServerConnectionDelegate): """A ...

  8. priority queue优先队列初次使用

    题目,排队打印问题 Input Format One line with a positive integer: the number of test cases (at most 20). Then ...

  9. this对象指向

    this表示函数运行时,自动生成的一个内部对象,只能在函数内部运行 function test(){ this.x = 1; } 随着使用场景的变化,this的值会发生变化 原则:this指的值调用函 ...

  10. C#之冒泡排序

    以前在学校的时候看过冒泡排序,看的时候挺明白的,但是自己写的时候就写不出来,在网上搜索了一下,发现网上的冒泡排序算法几乎都不符合冒泡排序的原理,虽然也能实现,但是不正宗. 冒泡排序从字面意思理解:应该 ...