簡體   English   中英

使用Gradle 5.x創建Jar和Tar

[英]Creating Jar and Tar using Gradle 5.x

我正在為要遷移到其上的舊項目編寫新的Gradle腳本。

我最初是使用Gradle 4.x DSL編寫腳本的,但我決定將其升級到5.x,以更好地進行將來的驗證。

我的任務之一是通過設置jar名稱和擴展名以及在我的項目根目錄的文件夾下創建一個新文件來創建jar。

當我將腳本遷移到gradle 5.X時,以下屬性已被棄用:

baseName,擴展名,archiveName和destinationDir。

我曾嘗試將其調整為新的約定,但無法找到那些屬性存在問題:

Could not set unknown property 'archiveDestinationDirectory' for task ':jar' of type org.gradle.api.tasks.bundling.Jar."

我嘗試過在線找到解決方案,但是還沒有找到合適的方法或使用Gradle 5.x的示例。

現在,第二個問題圍繞着創建焦油的概念展開。 再次,我沒有找到很好的例子來證明這一點。 到目前為止,我的腳本已執行此操作,這將創建tar,但不保留正確的文件層次結構:

task createTar(type: Tar) {
    archiveBaseName = 'info_tar'
    archiveExtension = 'gz'
    compression = Compression.GZIP
    from ('..') {
        include('bin/**')
        include('sounds/**')
        include('classes/**')
    }
    archiveFileName = archiveBaseName.get() + '.' + archiveExtension.get()
    //cleanup of temporary directories
    delete BIN_TARGET, SOUNDS_TARGET, CLASSES_TARGET
}

我的目標是制作一個包含文件夾bin,聲音和類的tar。 任何人都可以幫助實現這一目標嗎?

  • baseName: 文檔顯示已棄用它,而推薦使用archiveBaseName
  • 擴展名: 該文檔顯示不推薦使用archiveExtension
  • archiveName: 該文檔顯示不推薦使用archiveFileName
  • destinationDir :文檔顯示不推薦使用它,而推薦使用destinationDirectory

Jar中沒有archiveDestinationDirectory屬性。 文檔顯示正確的屬性命名為destinationDirectory

要將目錄本身包含到tar中,您需要使用而不是正在使用的內容:

from('..') {
  include('bin/**')
  include('sounds/**')
  include('classes/**')
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM