Gradle(二) —— 運行自己的應用


Gradle(二) —— 運行自己的應用


### 1. 綜述

完成簡單的 Hello World 之后,怎么運行我們的程序呢,有三種方法:

  1. 直接用 IDE,右鍵 -> run 'Main.main'
  2. 在 gradle.build 中加入 application plugin,進行一些配置,然后在命令行運行 gradle run
  3. 在 gradle.build 中設置 jar task,進行一些配置,然后在命令行運行 java -jar myapplication.jar

### 2. 用 IDE 操作方法自然不用贅述,可以順利執行成功。那么執行時發生了什么呢,答案是 **IDE自動在項目文件夾里生成了一個 build 文件夾,其中是以包名為結構的文件層次,最后整個build文件夾僅有一個文件 build\com\mycompany\main.class**,在所有的執行方法里,此種方法對項目文件夾的改變最小。
### 3. application plugin 在 gradle.build 加入
apply plugin 'application'

application plugin 會為項目增加若干個task我們需要用到的是 application/run,運行 run 之前,還要配置項目的主類,讓 run 能找到它。

gradle.build

mainClassName = 'com.mycompany.Main'

然后在命令行運行 run

gradle run

即可。

3.1 做了什么

gradle run 同樣生成了 build 文件夾,也包含 build\com\mycompany\main.class,同時還加入了其他一些文件。

4. jar task

在 gradle.build 中加入 jar task

jar {
	manifest.attributes 'Main-Class': 'com.mycompany.Main'
	from configuration.compile.collect { zipTree it}
}

上述代碼的作用:

語句 作用 不加會出現的錯誤
manifest.attributes 'Main-Class': 'com.mycompany.Main' 打包成的 jar 包里的 MANIFEST.MF 文件里加入 Main-Class: cn.edu.tju.Main 一行 運行 jar 包找不到主類
from configuration.compile.collect { zipTree it} 將引用的包打進 jar 包 Class not found,因為引用了卻找不到

之后執行

gradle build

在生成的 build 文件夾內會有 build\libs\test-1.0-SNAPSHOT.jar,運行 jar 包即可,在 libs 文件夾中

java -jar test-1.0-SNAPSHOT.jar

即可成功運行。

4.1 做了什么

gradle build 命令構建l了這個項目,生成了 build 文件夾,其中不但含有 jar 包,還有 tar\zip.bat等,也有 .class 文件。它生成的文件最多,包含了上述兩種方法生成的文件。

5. 其他

gradle clean

命令將會清理 gradle build 的結果,即刪除 build 文件夾,每一次 build 前最好都 clean 一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM