Java构建

大部分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/")
        }
    }
}
时间: 2024-11-05 16:05:31

Java构建的相关文章

Java构建器模式

当创建对象需要传入多个参数的时候我们通常会根据参数的数量写不同的构造器,具体如下 public A(int a){} public A(int a, int b){} public A(int a, int b, int c){} 根据不同的参数调用不同的构造器,但是当参数多了的时候,这种方式不够灵活,所以会实现动态传参的方法 public A(){} public void seta(int a){} public void setb(int b){} public void setc(int

Gradle 笔记——Java构建入门

Gradle是一个通用的构建工具,通过它的构建脚本你可以构建任何你想要实现的东西,不过前提是你需要先写好构建脚本的代码.而大部分的项目,它们的构建流程基本是一样的,我们不必为每一个工程都编写它的构建代码,因为Gradle已经为我们提供了相应的插件.Gradle 本身自带了许多插件,而对于Gradle没有的插件,可以去github上看看有没有其他人实现,或自己实现.对Java项目而言,Gradle有Java插件,提供了像编译.测试.打包之类的功能. 这里简单介绍一下Java插件. Java插件为构

java构建树形节点优化

引言:java中构建树形节点时,数据量小的话,可以随便些 ,不影响,但是当数据量大了以后,一棵大大的树,要半天才出来,所以就想着优化一下. 树形节点数据构建: package me.zhengjie; import ch.qos.logback.classic.joran.action.RootLoggerAction; import com.alibaba.fastjson.JSON; import lombok.AllArgsConstructor; import lombok.Data;

Java构建工具Ant小记(一)

Ant简介 Ant是基于java的构建工具.理论上来说它类似与make工具,但是却克服了make的一些固有的缺陷. 传统的Make是基于操作系统shell的构建工具,虽然也可以基于工作的os对make工具进行扩展,但却难以实现跨平台构建.Ant基于java扩展功能,并且通过在xml中的target中定义的task进行构建任务的定义.其中每一个任务都是实现特定任务接口的类.同时Ant也提供了exec任务允许调用不同的操作系统的shell命令. Ant主要元素介绍 Ant使用xml文件定义构建过程,

Java构建树形菜单

构建树形菜单 效果图:支持多级菜单. 菜单实体类: public class Menu { // 菜单id private String id; // 菜单名称 private String name; // 父菜单id private String parentId; // 菜单url private String url; // 菜单图标 private String icon; // 菜单顺序 private int order; // 子菜单 private List<Menu> ch

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

原文来自:https://zeroturnaround.com/rebellabs/java-build-tools-how-dependency-management-works-with-maven-gradle-and-ant-ivy/ 编译的时候可以运行,运行时出问题 在当今java项目自动化构建的场景当中,依赖管理已经成为了项目构建自动化工具中的一个主要部分,但是在过去并总是这样. 回想以前那个很爽的时候,你的项目依赖性管理只需要将jar包导入到lib文件夹中,然后将其加入到你的版本控

Java构建工具Ant之在Windows下配置环境变量

配置环境变量这个东西应该要烂在程序猿,基本上Windows或者Mas osx还是Linux都有固定的配置方式,我们在使用任何软件都是基于系统这个最高层的应用程序上的,前面笔者已经介绍过如何在Max os配置java环境变量,这里不再赘述. 计算机->右键->属性 定义系统变量ANT_HOME 指定变量值"你的ant的安装目录" 跟Java环境变量配置方法一样,如果指定了ant环境变量之后,就可以在cmd命令行下使用ant提供的命令:ant -version 输出ant当前版

Java构建网站多级菜单功能解决方案

在网站开发的时候我们会对网站的栏目进行分类,一个栏目可以有多个子分类,一个子分类又可以有分裂,例如:新闻栏目下有每日早报和每日晚报两个栏目,其中每日早报下面又分为上海早报,北京早报,杭州早报,下面是京东首页的分类图. 数据库设计 我们在设计数据库的时候仅仅使用一张表就可以把上面的关系给捋清楚,就是通过一个parentid字段,让我们开看一下这张表的表结构 各位看官可以看一下建表语句 DROP TABLE IF EXISTS `menu`; CREATE TABLE `menu` ( `id` i

java构建器

最近在看"Effective Java 中文第二版",看到了构建器这个知识,感觉很不错,比挨个调用setter方法看起来简便多了,代码如下: 1 public class User { 2 3 private String name; 4 private int age; 5 private String sex; 6 private String number; 7 private String address; 8 private int phone; 9 private Stri

java构建树形列表(带children属性)

一些前端框架提供的树形表格需要手动构建树形列表(带children属性的对象数组),这种结构一般是需要在Java后台构建好. 构建的方式是通过id字段与父id字段做关联,通过递归构建children字段来达到构建树形列表的目的. /** * 树形表格工具类 * * @author yanggb */ public class TreeTableUtil {/** * 把列表转换为树结构 * * @param originalList 原始list数据 * @param idFieldName 作