zoukankan      html  css  js  c++  java
  • gradle_____最后到齐的构建工具

    从今年开始,开始换用gradle 了,个人感觉还好,配置不像maven,一堆xml 文件,一个jar 一行字符,内置的task 和很多。自定义task 也挺简单,比ant简单一些。

    简单配置文件示例:

    group 'sdfe'
    version '1.0-SNAPSHOT'

    apply plugin: 'java'

    sourceCompatibility = 1.8

    repositories {
    mavenCentral()
    }

    dependencies {
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
    // https://mvnrepository.com/artifact/org.apache.mina/mina-filter-compression

    compile group: 'org.apache.mina', name: 'mina-filter-compression', version: '2.0.17'
    // https://mvnrepository.com/artifact/io.netty/netty-all
    compile group: 'io.netty', name: 'netty-all', version: '5.0.0.Alpha2'
    // https://mvnrepository.com/artifact/org.apache.mina/mina-core
    compile group: 'org.apache.mina', name: 'mina-core', version: '3.0.0-M2'
    compile group: 'org.apache.kafka', name: 'kafka-clients', version: '1.0.0'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    }

    比Maven的配置文件简单了很多。

    今天再来补充下gradle 的相关命令和用法,以内置的task 为主。

    先来看打jar包
    group 'com.wanba'
    version '1.0-SNAPSHOT'

    apply plugin: 'java'

    sourceCompatibility = 1.8

    repositories {
    mavenCentral()
    }

    dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    }


    jar {
    manifest {
    attributes 'Main-Class': 'Protest'
    }
    }

    指定 main 方法的可运行 jar 包。



    打war包
    project('') {
    apply plugin: 'war'

    dependencies {

    }

    war {
    /*from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }*/
    baseName = ''
    }

    processResources {
    from('src/main/java') {
    include '**/*'
    }
    }

    //baseName = ''

    }
    当需要将项目打包成可执行的jar时,如果在项目中引入了其它的jar包,需要在build.gradle中添加这样语句:
    jar { from {configurations.compile.collect {it.isDirectory() ? it : zipTree(it)}}manifest {attributes 'Main-Class': 'com.zero.HelloWorld'}

    这样不止我们的项目代码会进入xxx.jar中,引入的jar包的相关代码也会进入xxx.jar,避免出现java.lang.NoClassDefFoundError。










  • 相关阅读:
    说明因 Active Directory 冲突导致的 NTDS 复制警告 ID 1083 和 1061 以及 SAM 错误 ID 12294
    KB817701:可用于解决帐户锁定问题的 Service Pack 和修复程序
    log check
    AD account 锁定问题
    VS.2005 中比较有用的快捷键
    用户帐户意外锁定, 以及 Windows Server 2003 中记录事件 ID 12294
    xp 重新安装MDAC
    [学习收藏]业界三种架构优缺点比较
    [收藏学习]Linux内核虚拟机 学习KVM架构及其优点
    两个命令:hdparm和iozone参数解释
  • 原文地址:https://www.cnblogs.com/anyehome/p/9087223.html
Copyright © 2011-2022 走看看