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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gradle 上传jar包_Gradle学习记录014 关于依赖的声明

發布時間:2024/7/5 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gradle 上传jar包_Gradle学习记录014 关于依赖的声明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

詳細學習Gradle構建的依賴聲明。該學習記錄基于Gradle官方網站資料。本篇參考鏈接如下:

https://docs.gradle.org/current/userguide/declaring_dependencies.html

聲明一個模塊作為依賴

通常聲明一個模塊作為依賴,需要指定這個模塊的版本。Gradle提供了一套機制,允許指定動態的版本。

指定固定版本

dependencies { // 固定版本一旦指定就不會變化 implementation 'org.springframework:spring-web:5.0.2.RELEASE'}

不指定版本的依賴

比較大的項目可能不會去單獨指定依賴的版本,而是使用constraints來統一管理版本

dependencies { // 這里沒有指定依賴的版本 implementation 'org.springframework:spring-web'}dependencies { constraints { // 在constraints內部指定版本 implementation 'org.springframework:spring-web:5.0.2.RELEASE' }}

動態指定版本

dependencies { // 這里指定版本必須為5以上 implementation 'org.springframework:spring-web:5.+'}

通常,Gradle會在緩存中保存上一次取得的版本24小時。24小時之后如果發現有更新的版本,會去取得更新的版本。

指定未完成版本

dependencies { implementation 'org.springframework:spring-web:5.0.3.BUILD-SNAPSHOT'}

如上,一般帶有-SNAPSHOT后綴的版本是還在開發中的版本。和動態指定一樣, 24小時后會到倉庫中尋找是否有更新版本。

通過參數指定版本

dependencies { implementation('org.slf4j:slf4j-api') { version { strictly '[1.7, 1.8[' prefer '1.7.25' } } constraints { implementation('org.springframework:spring-core') { version { require '4.2.9.RELEASE' reject '4.3.16.RELEASE' } } }}

聲明文件依賴

有時可能會需要一些文件依賴, 這些文件保存在本地或者遠程的共享文件夾中。這種共享文件夾式的倉庫時沒有.metadata的。

所以需要指定文件的名字

configurations { antContrib externalLibs deploymentTools}dependencies { antContrib files('ant/antcontrib.jar') externalLibs files('libs/commons-lang.jar', 'libs/log4j.jar') deploymentTools(fileTree('tools') { include '*.exe' })}

聲明工程依賴

多工程構建的時候, 經常會發生工程間的依賴。

project(':web-service') { dependencies { implementation project(':utils') implementation project(':api') }}

指定特定的資源

以下三種情況,可能需要指定特定的資源,而不時把整個jar包或者特定資源的傳遞依賴都下載到本地。

1 這個依賴時一個非標準資源, 比如一個zip文件

2 模塊的.metadata定義了多個資源,但是我們只想要其中之一

3 我們只想要模塊中的一個資源, 兒不需要它的傳遞依賴

下面的示例展示了從一個模塊中只取得js類庫

repositories { ivy { url 'https://ajax.googleapis.com/ajax/libs' patternLayout { artifact '[organization]/[revision]/[module](.[classifier]).[ext]' } }}configurations { js}dependencies { js 'jquery:jquery:3.2.1:min@js'}

Classifier表示資源的種類。比如java的情況下,可能java的class在一個jar包中,它的源代碼在另一個包中,它的javadoc在第三個包中。

那么這三個包的名字中會用classifier來表明不同。比如

XXXX.jar

XXXX.sources.jar

XXXX.javadoc.jar

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的gradle 上传jar包_Gradle学习记录014 关于依赖的声明的全部內容,希望文章能夠幫你解決所遇到的問題。

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