Gradle用户指南(3)-构建Java项目

1.构建基本的Java项目



为了使用 Java 插件,添加下面代码到构建文件:

build.gradle

    apply plugin: ‘java‘

这个就是 定义一个 Java 项目的全部。它会将 Java 插件应用到项目中,并且添加很多 task。

Gradle 会在 src/main/java 目录下寻找产品代码,在 src/test/java 寻找测试代码 。 另外在 src/main/resources 包含了资源的 JAR 文件, src/test/resources 包含了运行测试。所有的输出都在 build 目录下,JAR 在 build/libs 目录下。

PS:一些常用的task

clean

删除 build 目录,移除所有构建的文件

assemble

编译打包代码,但不运行单元测试。其他插件带给这个 task 更多特性,比如如果你使用 War 插件,task 将给 project 构建 WAR 文件

check

编译测试你的代码。其他插件带给这个 task 提供更多检查类型。比如,你使用 checkstyle 插件, 这个 task 建辉在你的代码中 执行 Checkstyle

2.依赖外部jar文件



Java 项目经常会有一些外部 JAR 的依赖。为了引用这些 JAR 文件,需要在 Gradle 里面配置。在 Gradle,类似与 JAR 文件将会放在 repository 中。一个 repository 可以被依赖的项目获取到,或者提交项目的拷贝到 repository 中,或者两者都可。比如,我们使用 Maven repository :

build.gradle

    repositories {
        mavenCentral()
    }

我们添加一些依赖,声明了 编译时 需要的依赖和测试时需要的依赖

build.gradle

    dependencies {
        compile group: ‘commons-collections‘, name: ‘commons-collections‘, version: ‘3.2‘
        testCompile group: ‘junit‘, name: ‘junit‘, version: ‘4.+‘
    }

3.自定义项目属性



在 Java 插件添加属性到您的项目。这些属性通常足在启动时使用默认值。如果他们不适合你,你很容易改他们。让我们看一看我们的示例。在这里,我们将说明我们的 Java 项目的版本号,包括 Java 的版本号。我们也添加一些属性的 JAR 文件清单。

build.gradle

    sourceCompatibility = 1.5
    version = ‘1.0‘
    jar {
        manifest {
            attributes ‘Implementation-Title‘: ‘Gradle Quickstart‘,
                       ‘Implementation-Version‘: version
        }
    }

4.发布jar文件



需要告诉 Gradle 要发布 JAR 的位置。在 Gradle 中, 产物 比如 JAR 文件等是发布到库中的。我们的例子中是发布到了本地路径。你也可以发布到 远程位置或者多个位置。

build.gradle

    uploadArchives {
        repositories {
           flatDir {
               dirs ‘repos‘
           }
        }
    }

执行 gradle uploadArchives 来发布

5.创建eclipse项目



创建 Eclipse 特点的描述文件,比如 .project,需要添加插件

build.gradle

    apply plugin: ‘eclipse‘

执行 gradle eclipse 来生产 Eclipse project 文件。

总结

下面是完整的示例 build 文件

build.gradle

    apply plugin: ‘java‘
    apply plugin: ‘eclipse‘

    sourceCompatibility = 1.5
    version = ‘1.0‘
    jar {
        manifest {
            attributes ‘Implementation-Title‘: ‘Gradle Quickstart‘,
                       ‘Implementation-Version‘: version
        }
    }

    repositories {
        mavenCentral()
    }

    dependencies {
        compile group: ‘commons-collections‘, name: ‘commons-collections‘, version: ‘3.2‘
        testCompile group: ‘junit‘, name: ‘junit‘, version: ‘4.+‘
    }

    test {
        systemProperties ‘property‘: ‘value‘
    }

    uploadArchives {
        repositories {
           flatDir {
               dirs ‘repos‘
           }
        }
    }

6.构建多个java项目



下面是一个 多 project 构建的 项目结构:

 multiproject/
      api/
      services/webservice/
      shared/
      services/shared/

里面包含 4 个 project。 api 是产生出 JAR 文件 给客户端加载提供给 Java 客户端需要的 XML webservice。webservice 是一个 web 应用返回 XML 。shared 包含了 apiwebservice 使用的代码。项目 services/shared 包含了 依赖 shared 的代码。

定义 build 文件

配置文件的名字叫 settings.gradle,如下

settings.gradle

    include "shared", "api", "services:webservice", "services:shared"

常见配置

有很多常见的配置。我们的示例中使用了 configuration injection (配置注入)。在这里,根项目就像一个容器,subprojects 方法遍历容器中的元素(实例中的 project ),并将指定的配置。这样我们可以很容易地定义所有档案的 manifest 的内容,和一些常见的依赖关系:

build.gradle

    subprojects {
        apply plugin: ‘java‘
        apply plugin: ‘eclipse-wtp‘

        repositories {
           mavenCentral()
        }

        dependencies {
            testCompile ‘junit:junit:4.11‘
        }

        version = ‘1.0‘

        jar {
            manifest.attributes provider: ‘gradle‘
        }
    }

注意,示例中 在 所有 子 project 中应用了 Java 插件。意思是 task 和配置属性将会出现在虽偶有 子 project 中。所以,你可以 在根 project 目录中,运行 gradle build 来编译、测试、将所有 project 打包成 JAR 。

注意,插件只应用在 subprojects 包含的区域,其他根级别的将不适用。

7.依赖外部项目



在相同的构建里,您可以添加项目之间的依存关系,这样,例如,一个项目的 JAR 文件可以用来编译另外一个项目。在api 构建文件中我们将添加对shared项目的依赖。由于这种依赖,Gradle 将确保 sharedapi 之前获得构建。

api/build.gradle

    dependencies {
        compile project(‘:shared‘)
    }

8.创建发布包



添加发布包,提供给客户端装载

api/build.gradle

    task dist(type: Zip) {
        dependsOn spiJar
        from ‘src/dist‘
        into(‘libs‘) {
            from spiJar.archivePath
            from configurations.runtime
        }
    }

    artifacts {
       archives dist
    }
时间: 2024-10-09 11:59:47

Gradle用户指南(3)-构建Java项目的相关文章

使用 Gradle 构建 Java 项目

使用 Gradle 构建 Java 项目 这个手册将通过一个简单的 Java 项目向大家介绍如何使用 Gradle 构建 Java 项目. 我们将要做什么? 我们将在这篇文档航中创建一个简单的 Java 项目,然后使用 Gradle 构建它. 需要准备什么? 预留15分钟空闲时间 一件称手的兵器(你最喜欢的 IDE 或者文本编辑器) Java环境([JDK6](http://www.oracle.com/technetwork/java/javase/downloads/index.html”J

教小白使用Gradle构建Java项目

本指南将引导您逐步使用Gradle构建一个简单的Java项目. 你会建立什么 您将创建一个简单的应用程序,然后使用Gradle进行构建. 你需要什么 1. 约15分钟 2. 最喜欢的文本编辑器或IDE 3. JDK 6或更高版本 如何完成本指南 像大多数Spring 入门指南一样,您可以从头开始并完成每个步骤,也可以绕过您已经熟悉的基本设置步骤.无论哪种方式,您最终都可以使用工作代码. 要从头开始,请继续以设置项目. 要跳过基础知识,请执行以下操作: [下载](https://github.co

Gradle用户指南(章10:Web应用程序快速入门)

Gradle用户指南(章10:Web应用程序快速入门) 本章正在完善中..... 本章介绍gradle对web应用程序的支持.Gradle为web应用程序开发提供了两个插件:War插件和Jetty插件.War插件扩展了java插件并且能为你的项目构建一个war包.Jetty插件扩展了War插件并且提供了发布你的web项目到Jetty容器中的功能. 构建一个War文件 构建War文件,你需要在项目中添加War插件. 注意:你可以在gradle发布库和源文件的samples/webApplicati

Gradle用户指南(章9:Groovy快速入门)

Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.java代码或者两者混合.在其他方面,groovy项目与java项目是一致的,就像我们在章7:java快速入门中所看到的那样. 一个简单的groovy项目 让我们来看一个示例.使用groovy插件,需要添加下面的代码得到你的构建文件中. 注意:示例代码在gradle发布的源文件包的路径samples/g

ant构建java项目---Class Not Found:javac1.8

最近在使用ant构建java项目时出现了Class Not Found:javac1.8的错误.在网上查了查,发现是JDK版本和ant版本的兼容性的问题,那么好吧 1.我们去Apache官网重新下载1.9.6版本的ant--下载地址:http://ant.apache.org/bindownload.cgi 2.下载好了,配置ant的环境变量,Path里指定ant的bin目录,命令行里查看ant的环境变量是否配置成功:ant -verison 3.命令行里进入Java项目的根目录(build.x

Ant构建Java项目

Ant构建Java项目 我们创建HelloWorld项目,将源文件.java发到src中,编译后字节码.class放到bin中,对应的jar包放到exe目录中. 首先使用命令行来构建项目: 1.创建src目录 md src 2.在src目录中存放源文件HelloWorld.java,类HelloWorld的包名为com.tghz.test 那么创建包名路径,cd src,md com,cd com,md tghz,cd tghz,md test,然后存放HelloWorld.java到当前目录中

jenkins构建java项目找不到命令mvn,java的解决方法

jenkins构建java项目时出现的报错情况: $ mvn clean install FATAL: command execution failed java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) at java.la

Gradle用户指南(章7:java插件)

Java插件 如我们所见,gradle是一个通用的构建工具.它可以构建你关心并实现的构建脚本.它是开箱即用的,然而,它不会构建任何东西除非你在你的构建脚本中添加代码. 大多数java项目都有非常相似的基础操作:编译java源文件,运行单元测试,和创建包含类文件的jar包.如果你不想为每个项目添加这些操作代码,那是非常好的.Gradle用插件解决这个问题.这个插件通常通过以某种方式配置你的项目来扩展它,通过添加一系列预配置的任务来做一些有用的东西.Gradle附带大量的附件,当然,你也可以编写自己

Spring Boot 项目构建 之 使用 Gradle 构建 Java 项目(Building Java Projects with Gradle)

Table of contents What you'll build What you'll need How to complete this guide Set up the project Install Gradle Find out what Gradle can do Build Java code Declare dependencies Build your project with Gradle Wrapper Summary Tags gradle Concepts and