将已存在的Jar上传到 Maven Repository (Nexus)

场景

  1. 一些第三方服务提供商为了安全或其他原因, 仅仅提供编译好的, 甚至是经过代码混淆的 Jar Client, 为了方便项目的使用, 我们最好把这些 Jar 上传到公司私有的 Nexus 上;

  2. 有时候, 公司 Nexus 上会有一些祖传的 Jar, 被大量项目使用, 但是, 项目源码已经找不了. 某天, 这个 Jar 被发现有致命 bug, 必须通过一些手段, 比如反编译 class 修复后重新打包, 然后重新上传到 Nexus;

  3. 需要做 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.

你可能感兴趣的:(将已存在的Jar上传到 Maven Repository (Nexus))