场景
一些第三方服务提供商为了安全或其他原因, 仅仅提供编译好的, 甚至是经过代码混淆的 Jar Client, 为了方便项目的使用, 我们最好把这些 Jar 上传到公司私有的 Nexus 上;
有时候, 公司 Nexus 上会有一些祖传的 Jar, 被大量项目使用, 但是, 项目源码已经找不了. 某天, 这个 Jar 被发现有致命 bug, 必须通过一些手段, 比如反编译 class 修复后重新打包, 然后重新上传到 Nexus;
需要做 Nexus 迁移, 同样有一些 Jar 没有源码;
工具
Gradle
在 macOS 上, 可以通过 brew install gradle
一键安装, 或者可以使用 gradle wrapper
; 我这里使用的是 5.6.2 版本, 理论上其他版本也适用;
步骤
准备一个空目录, 创建一个 build.gradle
, 内容如下:
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}'
}
}
}
}
替换其中的占位符, 确保你已经安装了 gradle 并且在当前目录下, 运行 gradle publish
.