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/")
        }
    }
}

 

 

  • 配置MANIFEST.MF
设置jar的main类
jar{
    manifest{
        attributes 'Main-Class':'com.manning.ToDoApp'
    }
}

 

 

  • 改变默认结构
sourceSets{
  main{
    java{
      //设置源代码路径
      srcDirs=['src']
    }
  }

  test{
    java{
      //设置测试源代码路径
      srcDirs=['src']
    }
  }
}

设置输出路径
buildDir='out'

 

posted @ 2016-10-01 22:38  csnmd  阅读(509)  评论(0编辑  收藏  举报