Gradle入门 - 一个最简单的hello world级别的例子

在Gradle文件夹下面有个子文件夹samples/java/quickstart,里面包含了一个sample项目,用于学习如何用Gradle对其进行构建。

项目工程层级结构如下:

Gradle默认会从src/main/java 搜寻打包源码,在 src/test/java 下搜寻测试源码。并且 src/main/resources下的所有文件按都会被打包,所有 src/test/resources 下的文件 都会被添加到classpath用以执行测试。所有文件都输出到 build 下,打包的文件输出到 build/libs 下。

plugins {
    id 'java'
}

apply plugin: 'java'

version = '1.0'
jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                   'Implementation-Version': archiveVersion
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
    testImplementation group: 'junit', name: 'junit', version: '4.+'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

第2行申明了标准插件java的使用。在下面这个链接里能查询到所有Gradle标准的插件:

https://docs.gradle.org/current/userguide/plugin_reference.html

第15行的repository,声明了Maven中央仓库的使用。

详细工作原理参考我这篇文章:build.gradle里repositories的mavenCentral实现原理解析

第19行的dependencies标签,实现原理参考我的文章build.gradle里dependencies标签页的实现原理

第24行的test标签实现原理:build.gradle里test标签的实现原理

第28行:build.gradle里uploadArchives标签的实现原理

要获取更多Jerry的原创文章,请关注公众号"汪子熙":


你可能感兴趣的:(Gradle入门 - 一个最简单的hello world级别的例子)