首页 > 代码库 > Java构建

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.learningversion 1.0-SNAPSHOTapply plugin: javaapply plugin: mavensourceCompatibility = 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/")        }    }}

 

Java构建