关闭

Gradle笔记

标签: gradlejava
357人阅读 评论(0) 收藏 举报
分类:

Gradle笔记

Hello Gradle Java

我们从一个简单的Hello Gradle Java项目开始,之所以起这个名字,是因为Gradle不仅仅可以用来构建Java项目,也可以用来构建基于其他语言的项目。而这里涉及的是Java项目。

项目骨架

手动生成项目骨架

一个典型Gradle项目的结构如下:

hello-gradle-java
    build.gradle
    src
        main
            java
        test
            java

java目录下面就是我们的包目录。

自动生成项目骨架

Gradle也提供了一个命令来自动生成Java项目骨架。

$ cd hello-gradle-java
$ gradle init --type java-library

生成的项目结构如下:

hello-gradle-java
    build.gradle
    gradle
        wrapper
            gradle-wrapper.jar
            gradle-wrapper.properties
    gradlew
    gradlew.bat
    settings.gradle
    src
        main
            java
                Library.java
        test
            java
                LibraryTest.java

除了基本的骨架,自动生成的项目里还嵌入了一个gradle程序,这样,当把项目拷贝给别人的时候,别人可以不安装gradle,就可以使用gradlew(注意后面多了一个w)来构建程序。其中,gradlew和gradlew.bat分别是Linux和Windows的脚本。如果系统已经安装了gradle,可以将gradle文件夹以及gradlewgradlew.bat脚本删掉。

settings.gradle在当前项目有多个子项目时十分有用,而如果只有一个项目需要构建,则可以删除这个文件。

gradle还帮我们生成了Library.javaLibraryTest.java 文件,而一般情况下,Java文件都是组织在包结构下面的,所以这两个文件实际上没有什么用,可以删除。

在自动生成的build.gradle文件里,还有大量说明信息,十分繁杂,不喜欢可以此文件清空。

到这里,自动生成的项目已经和手动生成的项目结构一模一样了。

用gradle构建Java项目

添加Java代码

我们首先在com.company.gradle包里添加一个包含main函数HelloGradleJava.java文件。

HelloGradleJava.java

package com.company.gradle;

public class HelloGradleJava {

    public static void main(String[] args){
        System.out.println("Hello, Gradle Java!");
    }
}

所以现在的项目结构是

hello-gradle-java
    build.gradle
    src
        main
            java
                com
                    company
                        gradle
                            HelloGradleJava.java
        test
            java

编辑build.gradle文件

build.gradle

apply plugin: 'java'

我们暂时只添加这一行,这个plugin引入了和Java相关的一些task。让我们尝试构建一下这个项目

$ gradle build

很神奇,构建成功了

这时,项目根目录下面多了build文件夹,而在build/libs目录下面,可以找到生成的hello-gradle-java.jar文件,让我们尝试使用java -jar命令来运行它

$ java -jar build/libs/hello-gradle-java.jar


会提示no main manifest attribute我们知道,这是没有指定manifest文件。

让程序跑起来

Application插件

编辑build.gradle

apply plugin: 'java'
apply plugin: 'application'

mainClassName = 'com.company.gradle.HelloGradleJava'

这时候,gradle run命令可以用来运行程序,但不会生成可直接运行的文件

$ gradle run

gradle installDist 会在build/install/目录下面生成hello-gradle-java,在bin目录下面会发现可运行的脚本。

$ ./hello-gradle-java

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:160465次
    • 积分:3899
    • 等级:
    • 排名:第8096名
    • 原创:228篇
    • 转载:32篇
    • 译文:0篇
    • 评论:2条
    博客专栏
    最新评论