場景
一些第三方服務(wù)提供商為了安全或其他原因, 僅僅提供編譯好的, 甚至是經(jīng)過代碼混淆的 Jar Client, 為了方便項目的使用, 我們最好把這些 Jar 上傳到公司私有的 Nexus 上;
有時候, 公司 Nexus 上會有一些祖?zhèn)鞯?Jar, 被大量項目使用, 但是, 項目源碼已經(jīng)找不了. 某天, 這個 Jar 被發(fā)現(xiàn)有致命 bug, 必須通過一些手段, 比如反編譯 class 修復(fù)后重新打包, 然后重新上傳到 Nexus;
需要做 Nexus 遷移, 同樣有一些 Jar 沒有源碼;
工具
Gradle
在 macOS 上, 可以通過 brew install gradle
一鍵安裝, 或者可以使用 gradle wrapper
; 我這里使用的是 5.6.2 版本, 理論上其他版本也適用;
步驟
準(zhǔn)備一個空目錄, 創(chuàng)建一個 build.gradle
, 內(nèi)容如下:
apply plugin: 'maven-publish'
publishing {
publications {
maven(MavenPublication) {
groupId '{group_id}'
artifactId '{artifact_id}'
version '{version}'
artifact '{path_of_jar}'
}
}
repositories {
maven {
url = '{nexus_maven_repository_url}'
credentials {
username = '{username}'
password = '{password}'
}
}
}
}
替換其中的占位符, 確保你已經(jīng)安裝了 gradle 并且在當(dāng)前目錄下, 運行 gradle publish
.