gradle的二进制版本_Gradle入门:创建二进制分发
gradle的二進制版本
創建有用的應用程序后,很可能我們想與其他人共享它。 一種方法是創建一個可以從我們的網站下載的二進制發行版。
這篇博客文章描述了如何滿足以下要求的二進制發行版:
- 我們的二進制分發不得使用所謂的“胖子”方法。 換句話說,我們的應用程序的依賴項不得與我們的應用程序打包到同一jar文件中。
- 我們的二進制發行版必須包含* nix和Windows操作系統的啟動腳本。
- 我們的二進制發行版的根目錄必須包含我們的應用程序的許可證。
讓我們開始吧。
補充閱讀:
- Gradle入門:簡介可幫助您安裝Gradle,描述Gradle構建的基本概念,并描述如何使用Gradle插件為構建提供功能。
- Gradle入門:我們的第一個Java項目描述了如何使用Gradle創建Java項目并將應用程序打包到可執行jar文件中。
- Gradle入門:依賴性管理介紹了如何管理Gradle項目的依賴性。
創建一個二進制分布
該應用程序插件是Gradle插件,它使我們能夠運行我們的應用程序,進行安裝,并創建不使用“胖子”方法的二進制發行版。
我們可以通過對在Gradle入門教程的上一部分中創建的示例應用程序的build.gradle文件進行以下更改來創建二進制分發:
在對build.gradle文件進行了這些更改之后,其外觀如下(突出顯示了相關部分):
apply plugin: 'application' apply plugin: 'java'repositories {mavenCentral() }dependencies {compile 'log4j:log4j:1.2.17'testCompile 'junit:junit:4.11' }mainClassName = 'net.petrikainulainen.gradle.HelloWorld'該應用程序插件將五個任務添加到我們的項目中:
- 運行任務將啟動應用程序。
- startScripts任務將啟動腳本創建到build / scripts目錄。 該任務為Windows和* nix操作系統創建啟動腳本。
- installApp任務將應用程序安裝到build / install / [項目名稱]目錄中。
- distZip任務創建二進制發行版,并將其打包為可從build / distributions目錄中找到的zip文件。
- distTar任務創建二進制發行版,并將其打包到可從build / distributions目錄中找到的tar文件中。
我們可以通過在項目的根目錄中運行以下命令之一來創建二進制分發: gradle distZip或gradle distTar 。 如果我們創建打包為zip文件的二進制分發,請參見以下輸出:
> gradle distZip :compileJava :processResources :classes :jar :startScripts :distZipBUILD SUCCESSFULTotal time: 4.679 secs如果解壓縮由應用程序插件創建的已創建二進制發行版,則將獲得以下目錄結構:
- bin目錄包含啟動腳本。
- lib目錄包含我們應用程序的jar文件及其依賴項。
您可以通過閱讀第45章“ Gradle用戶指南”中的“應用程序插件”來獲取有關應用程序插件的更多信息。
現在,我們可以創建一個滿足幾乎所有需求的二進制發行版。 但是,我們仍然需要將應用程序的許可證添加到二進制分發的根目錄中。 讓我們繼續前進,找出我們如何做到這一點。
將我們的應用程序的許可證文件添加到二進制分發中
通過執行以下步驟,我們可以將應用程序的許可證添加到二進制分發中:
讓我們繼續仔細研究這些步驟。
將許可證文件復制到構建目錄
包含我們的應用程序許可證的文件的名稱為LICENSE ,可以從我們項目的根目錄中找到。
我們可以按照以下步驟將許可證文件復制到構建目錄:
完成這些步驟后, build.gradle文件如下所示(相關部分突出顯示):
apply plugin: 'application' apply plugin: 'java'repositories {mavenCentral() }dependencies {compile 'log4j:log4j:1.2.17'testCompile 'junit:junit:4.11' }mainClassName = 'net.petrikainulainen.gradle.HelloWorld'task copyLicense(type: Copy) {from "LICENSE"into "$buildDir" }附加信息:
- 復制任務的API文檔
- 《 Gradle用戶指南》的16.6節復制文件
現在,我們已經創建了一個任務,該任務將LICENSE文件從項目的根目錄復制到構建目錄。 但是,當我們在項目的根目錄中運行gradle distZip命令時,將看到以下輸出:
> gradle distZip :compileJava :processResources :classes :jar :startScripts :distZipBUILD SUCCESSFULTotal time: 4.679 secs換句話說,我們的新任務不會被調用,這自然意味著許可證文件不包含在我們的二進制發行版中。 讓我們解決這個問題。
將許可證文件添加到二進制分發版
我們可以按照以下步驟將許可證文件添加到創建的二進制分發中:
完成這些步驟后, build.gradle文件如下所示(相關部分突出顯示):
apply plugin: 'application' apply plugin: 'java'repositories {mavenCentral() }dependencies {compile 'log4j:log4j:1.2.17'testCompile 'junit:junit:4.11' }mainClassName = 'net.petrikainulainen.gradle.HelloWorld'task copyLicense {outputs.file new File("$buildDir/LICENSE")doLast {copy {from "LICENSE"into "$buildDir"}} }applicationDistribution.from(copyLicense) {into "" }補充閱讀:
- Task的doLast()操作的API文檔
- 第45.5節在分發的Gradle用戶指南中包括其他資源
- ApplicationPluginConvention類的Groovydoc
當在項目的根目錄中運行命令gradle distZip時 ,將看到以下輸出:
> gradle distZip :copyLicense :compileJava :processResources :classes :jar :startScripts :distZipBUILD SUCCESSFULTotal time: 5.594 secs如我們所見,現在將調用copyLicense任務,并且如果解包二進制分發包,則會注意到LICENSE文件是從其根目錄中找到的。
讓我們繼續總結一下我們從此博客文章中學到的知識。
摘要
這篇博客文章教會了我們三件事:
- 我們了解到可以使用應用程序插件創建二進制發行版。
- 我們學習了如何使用復制任務將文件從源目錄復制到目標目錄。
- 我們了解了如何將文件添加到由應用程序插件創建的二進制分發中。
如果您想玩這個博客文章的示例應用程序, 可以從Github獲得 。
翻譯自: https://www.javacodegeeks.com/2014/09/getting-started-with-gradle-creating-a-binary-distribution.html
gradle的二進制版本
總結
以上是生活随笔為你收集整理的gradle的二进制版本_Gradle入门:创建二进制分发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑命令窗口怎样打开(电脑命令窗口怎么开
- 下一篇: 剑网3服务器被攻击(剑网三DDOS攻击2