日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

用gradle启动java项目_构建Java项目

發(fā)布時間:2023/12/4 java 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用gradle启动java项目_构建Java项目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#構建Java項目#

上一節(jié)我們簡要介紹了如何編寫一個單機的To Do應用,接下來要打包部署成可執(zhí)行的應用,我們需要編譯源代碼,生成的class文件需要打包到JAR文件中。JDK提供了javac 和jar工具幫助你實現(xiàn)這些任務,但是你也不想每次源代碼發(fā)生變化時你都手動去執(zhí)行這些任務吧。

Gradle插件能夠自動化完成這些任務,插件引入了一些領域特有的觀念,其中一個Gradle插件就是java插件,Java插件不僅僅只有編譯和打包的功能,它給你的項目安排了一個標準布局,并確保你所有的任務都是按序執(zhí)行,現(xiàn)在該應用java插件來構建你的build腳本了。

##使用java插件##

每個Gradle項目都會創(chuàng)建一個build.gradle文件,如果你想使用java插件只需要添加下面這行代碼:

apply plugin: 'java'

這一行代碼足以構建你的項目,但是Gradle怎么知道你的源代碼放在哪個位置呢?java插件的一個約定就是源代碼的位置,默認情況下插件搜索src/main/java路徑下的文件,你的包名com.manning.gia.todo會轉換成源代碼根目錄下的子目錄,創(chuàng)建build腳本之后你的項目結構應該是這樣的:

##構建項目##

現(xiàn)在你可以構建你的項目了,java插件添加了一個build任務到你項目中,build任務編譯你的代碼、運行測試然后打包成jar文件,所有都是按序執(zhí)行的。運行gradle build之后你的輸出應該是類似這樣的:

$ gradle build

:compileJava

:processResources UP-TO-DATE

:classes

:jar

:assemble

:compileTestJava UP-TO-DATE

:processTestResources UP-TO-DATE

:testClasses UP-TO-DATE

:test

:check

:build

輸出的每一行都表示一個可執(zhí)行的任務,你可能注意到有一些任務標記為 UP-TO-DATE,這意味著這些任務被跳過了,gradle能夠自動檢查哪些部分沒有發(fā)生改變,就把這部分標記下來,省的重復執(zhí)行。在大型的企業(yè)項目中可以節(jié)省不少時間。執(zhí)行完gradle build之后項目結構應該是類似這樣的:

在項目的根目錄你可以找到一個build目錄,這里包含了所有的輸出,包含class文件,測試報告,打包的jar文件,以及一些用來歸檔的臨時文件。如果你之前使用過maven,它的標準輸出是target,這兩個結構應該很類似。jar文件目錄build/libs下可以直接運行,jar文件的名稱直接由項目名稱得來的,這里是todo-app。

##運行項目##

你只需要使用JDK的java命令就可以執(zhí)行這個應用了:

$ java -cp build/classes/main com.manning.gia.todo.ToDoApp

--- To Do Application ---

Please make a choice:

(a)ll items

(f)ind a specific item

(i)nsert a new item

(u)pdate an existing item

(d)elete an existing item

(e)xit

>

接下來我們會學習如何自定義項目結構。

##自定義你的項目##

Java插件是一個非常固執(zhí)的框架,對于項目很多的方面它都假定有默認值,比如項目布局,如果你看待世界的方法是不一樣的,Gradle給你提供了一個自定義約定的選項。想知道哪些東西是可以配置的?可以參考這個手冊:http://www.gradle.org/docs/current/dsl/,之前提到過,運行命令行gradle properties可以列出可配置的標準和插件屬性以及他們的默認值。

修改你的項目和插件屬性

接下來你將學習如何指定項目的版本號、Java源代碼的兼容級別,前面你用的java命令來運行應用程序,你需要通過命令行選項-cp build/classes/main指定class文件的位置給Java運行時。但是要從JAR文件中啟動應用,你需要在manifest文件MANIFEST.MF中包含首部Main-Class。看下面的腳本你就明白怎么操作了:

//Identifies project’sversion through a number scheme

version = 0.1

//Sets Java version compilation compatibility to 1.6

sourceCompatibility = 1.6

//Adds Main-Class header to JAR file’s manifest

jar {

manifest {

attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'

}

}

打包成JAR之后,你會發(fā)現(xiàn)JAR文件的名稱變成了todo-app-0.1.jar,這個jar包含了main-class首部,你就可以通過命令java -jar build/libs/todo-app-0.1.jar運行了。

接下來學習如何改變項目的默認布局:

//Replaces conventional source code directory with list of different directories

sourceSets {

main {

java {

srcDirs = ['src']

}

}

//Replaces conventional test source code directory with list of different directories

test {

java {

srcDirs = ['test']

}

}

}

//Changes project output property to directory out

buildDir = 'out'

配置和使用外部依賴

在Java世界里,依賴是分布的以JAR文件的形式存在,許多庫都從倉庫里獲得,比如一個文件系統(tǒng)或中央服務器。Gradle需要你指定至少一個倉庫作為依賴下載的地方,比如mavenCentral: //Shortcut notation for configuring Maven Central 2 repository accessible under http://repo1.maven.org/maven2

repositories {

mavenCentral()

}

定義依賴

接下來就是定義依賴,依賴通過group標識,name和version來確定,比如下面這個:

dependencies {

compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'

}

Gradle是通過配置來給依賴分組,Java插件引入的一個配置是compile,你可以很容易區(qū)分這個配置定義的依賴是用來編譯源代碼的。

解析依賴

Gradle能夠自動檢測并下載項目定義的依賴:

$ gradle build

:compileJava

Download http://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom

Download http://repo1.maven.org/maven2/org/apache/commons/commons-parent/22/commons-parent-22.pom

Download http://repo1.maven.org/maven2/org/apache/apache/9/apache-9.pom

Download http://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar

:processResources UP-TO-DATE

...

:build

總結

以上是生活随笔為你收集整理的用gradle启动java项目_构建Java项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。