大部分Java项目都是相似的,使用Gradle插件,能够抽象出这些步骤,这样就不必为每个Java项目都编写Gradle的project和task了

引入java插件

apply plugin: 'java'

引入java插件后,该插件会为脚本添加内置的任务,可以执行 gradle -q tasks 进行查看,列出任务列表

外部依赖

repositories {
mavenCentral()
} dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}

依赖配置

依赖范围

  compile:编译期间依赖

  runtime:运行和测试的时候依赖,但是编译时期不需要。如 JDBC 驱动

  testCompile:测试编译期间依赖

  testRuntime:测试运行期间起来

使用Maven中央仓库进行依赖

repositories {
mavenCentral()
} dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}

简写依赖

testCompile 'junit:junit:4.12'

使用Maven的远程仓库

repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
使用Maven本地仓库
repositories {
//使用Maven本地仓库
mavenLocal()
//使用Maven中央仓库
mavenCentral()
}
 
 
采用 Ivy 远程仓库

repositories {
ivy {
url "http://repo.mycompany.com/repo"
}
}
采用本地 Ivy 目录

repositories {
ivy {
// URL can refer to a local directory
url "../local-repo"
}
}

一个项目可以采用多个库,Gradle会按照顺序从各个库中查询依赖文件

引入本地jar

 compile files('libs/sigar.jar')

发布

uploadArchives {
repositories {
mavenDeployer {
repository(url: "file:/Users/sherry/WorkPath/maven/repository/")
}
}
}

相当于是Maven中的  mvn install

一个稍微完整的配置

group 'org.zln.learning'
version '1.0-SNAPSHOT' apply plugin: 'java'
apply plugin: 'maven' sourceCompatibility = 1.8 [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' //仓库配置
repositories {
//使用Maven本地仓库
mavenLocal()
//使用Maven中央仓库
mavenCentral()
} //依赖配置
dependencies {
compile 'org.zln.bdrisk:bdrisk-commons:1.0-SNAPSHOT'
testCompile 'junit:junit:4.12'
} //发布配置
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file:/Users/sherry/WorkPath/maven/repository/")
}
}
}
  • 配置MANIFEST.MF
设置jar的main类
jar{
manifest{
attributes 'Main-Class':'com.manning.ToDoApp'
}
}
  • 改变默认结构
sourceSets{
main{
java{
//设置源代码路径
srcDirs=['src']
}
} test{
java{
//设置测试源代码路径
srcDirs=['src']
}
}
} 设置输出路径
buildDir='out'

Java构建的更多相关文章

  1. Java Build Path(Java 构建路径)

    Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通过使用 Java 项目属性对话框中的 Java Build P ...

  2. Gradle 笔记——Java构建入门

    Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代 ...

  3. 闽江学院软件学院2016级JAVA构建之法-学生自学兴趣小组招募通知

    为提升我2016级学生提升JAVA软件开发学习氛围,鼓励更多同学通过自学.团队学习.在线(社区)学习等方式学习并掌握JAVA课程,尤其是鼓励同学们通过微软中国邹欣老师所倡导的"构建之法&qu ...

  4. 004_Gradle 笔记——Java构建入门

    Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它 们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建 ...

  5. Eclipse Java 构建路径

    Eclipse Java 构建路径 设置 Java 构建路径 Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通 ...

  6. Eclipse Java 构建路径 ---Eclipse教程第13课

    Eclipse Java 构建路径 设置 Java 构建路径 Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项: 源码包 项目相关的 jar 包及类文件 项目引用的的类库 我们可以通 ...

  7. t-io Java构建p2p网络

    Java 构建p2p网络 这篇文章是一篇关于pbft算法实现的一篇补充文章,但是在这里不会涉及pbft的算法方面,所以可以当做一篇单独的文章食用.如果想查看关于区块链或者PBFT算法的文章,可以参考一 ...

  8. 高效使用Java构建工具,Maven篇|云效工程师指北

    大家好,我是胡晓宇,目前在云效主要负责Flow流水线编排.任务调度与执行引擎相关的工作. 作为一个有多年Java开发测试工具链开发经验的CRUD专家,使用过所有主流的Java构建工具,对于如何高效使用 ...

  9. Java构建工具Ant小记(一)

    Ant简介 Ant是基于java的构建工具.理论上来说它类似与make工具,但是却克服了make的一些固有的缺陷. 传统的Make是基于操作系统shell的构建工具,虽然也可以基于工作的os对make ...

  10. Java构建工具:如何用Maven,Gradle和Ant+Ivy进行依赖管理

    原文来自:https://zeroturnaround.com/rebellabs/java-build-tools-how-dependency-management-works-with-mave ...

随机推荐

  1. SharePoint 页面中添加.Net代码

    今天整理资料,看到一个非常有意思的截图,可以在SharePoint页面库里的页面中,添加.Net代码,只需修改一下相应应用程序的web.config文件,即可: 在web.config里面的<P ...

  2. Atitit.jsou html转换纯文本 java c# php

    Atitit.jsou html转换纯文本 java c# php 1. 原理<p> <h> <li><div> 等lable转换为回车1 2. 调用2 ...

  3. [Microsoft Dynamics CRM 2016]Invalid Action – The selected action was not valid 错误的诱因及解决方法

    详细问题描述: 由于解决windows server 评估版过期\SQL server 评估版过期的问题后而导致的Invalid Action – The selected action was no ...

  4. 错误:升级为xcode8之后无法上网的解决方法

    主要是在info.list中增加以下的节点,因为XCode开始所有的http都转为https来联网了. 添加类型为Dictionary的:NSAppTransportSecurity 再添加节点为:N ...

  5. IOS 计步器

    这篇博客介绍的是当前比较流行的“计步器”-只是简单的知识点 计步器的实现在IOS8开始进行了改变. 但是我会对之前之后的都进行简单介绍. IOS 8 - // // ViewController.m ...

  6. Java 参数传递都是值传递

    Java 参数传递都是值传递,验证代码如下 public class ParamTransferTest { public static void swap(int a, int b) { int t ...

  7. Angularjs的My97DatePicker扩展

    对于日期控件来说,My97DatePicker算得上是个优秀的东东了.好几个项目都用的它. 新项目中也是一样,不过区别是使用的Angularjs.二者不会冲突,不过以往情况下使用的 ng-model ...

  8. PHP模拟发送POST请求之四、加强file_get_contents()发送POST请求

    使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能. 最简单的是fopen()和fread ...

  9. 读书笔记——网络编程与开发技术(3)基于TCP/IP协议的网络编程相关知识

    TCP/IP协议:数据链路层,网络层,传输层,应用层. IP地址分为5类:A类.B类.C类.D类.E类. (A类.B类.C类是基本类,D类多用于多播传送,E类为保留类.) "*"表 ...

  10. JSP 标准标签库(JSTL)之最常用的JSTL标签总结

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. Apache Tomcat安装JSTL 库步骤如下: 从Apache的标准标签库中下载的二进包(jakarta-t ...