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

歡迎訪問 生活随笔!

生活随笔

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

java

gradle插件 java_简单的Gradle Java插件自定义

發布時間:2023/12/3 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gradle插件 java_简单的Gradle Java插件自定义 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gradle插件 java

正如我在“ 用Gradle構建Java的初步了解”一文中所展示的那樣,當Gradle使用Java插件并將文件和目錄放置在該插件期望的位置時, Gradle尤其適用于構建Java應用程序的基礎知識(約定-基于項目的布局 )。 但是,并非總是有一種結構(尤其是在舊系統中)可以滿足Gradle的預期約定。 在本文中,我將介紹重寫Gradle Java插件的一些約定,以允許簡單的Gradle構建與不同的目錄結構一起使用。

以下代碼清單包含構建build.gradle的Gradle代碼。 我在構建代碼中包含了注釋,以幫助解釋每種類型的定制正在做什么。

build.gradle

// build.gradle // // This simple example of a Gradle build file exists primarily to demonstrate // approaches to overriding Gradle's default conventions related to use of the // Java plugin.// The 'java' plugin must be applied before attempting to access the sourceSets // and other properties defined by the Java plugin to avoid an error message // similar to the following: "Could not find method sourceSets() for arguments..." apply plugin: 'java'// Redefine where Gradle should expect Java source files (*.java) sourceSets {main {java {srcDirs 'java'}resources {srcDir 'resources'}} }// Redefine where .class files are written sourceSets.main.output.classesDir = file("dist/classes")// Redefine where 'jar' task should place generated JAR file. jar {destinationDir = file('dist/jar') }// Fully qualified directory/JAR for Guava Release 16 JAR file: // C:\\guava16\\guava-16.0-rc1.jar repositories { flatDir{dirs 'C:\\guava16'} }dependencies {compile 'guava:guava:16.0-rc1' }defaultTasks 'clean', 'jar'

上面顯示的G??radle構建文件首先應用Java插件。 然后,它覆蓋Java源文件的Gradle常規位置(子目錄代表軟件包和文件具有.jar擴展名的最高級目錄),將此目錄從默認的src/main/java更改為簡單的java 。 類似地,生產資源的默認src/main/resources位置更改為簡單的resources 。

然后,通過指定sourceSets.main.output.classesDir現在為dist/classes sourceSets.main.output.classesDir (常規的build/classes/main ),上面顯示的構建文件然后更改* .class文件(具有表示其包結構的適當子目錄)的放置位置。 類似地, jar任務的destinationDir被覆蓋以指向dist/jar ( build/libs是約定),這是jar任務生成的JAR文件的寫入位置。

上面顯示的簡單Gradle構建腳本中顯示的最終定制是“存儲庫”和“依賴項”的規范,以使Guava Release 16 JAR可用于我的應用程序(碰巧取決于Guava Release 16)。 Gradle為使用Maven或Ivy存儲庫提供了復雜的支持,包括Maven Central的特殊語法,但是此特定示例從我的本地文件系統(C:\ guava16)獲取了Guava Release 16 JAR。 依賴項本身用“ guava:guava:16.0-rc1”表示,因為該指定存儲庫目錄中的JAR被稱為“ guava-16.0-rc1.jar”。

為了使這些自定義的測試更加容易,我將defaultTasks明確指定為clean和jar以便我需要做的就是在命令行上鍵入gradle ,只要我與上述build.gradle文件位于同一目錄中,并且只要在該級別上有一個“ java”子目錄,并且在其相應的基于包的目錄中包含.java源文件。

當遵循Gradle的約定時,Gradle的構建最簡潔,最容易編寫和閱讀。 但是,覆蓋這些約定并指定自定義配置以匹配舊系統并不是很困難。

參考:來自JCG合作伙伴 Dustin Marx的Simple Gradle Java插件定制,來自Inspired by Actual Events博客。

翻譯自: https://www.javacodegeeks.com/2014/01/simple-gradle-java-plugin-customization.html

gradle插件 java

總結

以上是生活随笔為你收集整理的gradle插件 java_简单的Gradle Java插件自定义的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。