AOP Gradle插件的仓库地址不稳定,干脆自己来搭建Nexus私服

问题来源

今天研究了下如何将gradle的aop插件打包上传到Nexus私服,本来也想使用第三方的maven仓库,但是发现网上的几乎都关服了,那么没办法,只能自己搭建一下Nexus私服了。

搭建Nexus环境

我使用的是CentOS 7.6(64位版本),至少需要4G内存的服务器。那么我们现在开始上干货了。

安装java的环境

yum install java

Nexus下载

wget https://download.sonatype.com/nexus/3/nexus-3.37.1-01-unix.tar.gz

截屏2023-06-21 19.37.06.png
解压缩

tar -zxvf nexus-3.37.1-01-unix.tar.gz

运行Nexus

进入bin目录

cd nexus-3.37.1-01/bin

运行nexus

./nexus start // 后台运行
./nexus run // 前台运行,退出命令行停止

这里你可以先拿run的命令测试一下,有问题可以随时Ctrl+C关掉。

开放服务器端口,配置安全组规则
截屏2023-06-21 19.45.13.png
这里注意选出方向,入方向是指该服务器访问别的服务器开放的端口。在浏览器输入你的服务器的公网IP地址加上8081端口,8081是Nexus的默认端口,如果你不配置,那就是它。

截屏2023-06-30 12.26.40.png

然后复制maven releases地址。

截屏2023-06-30 14.23.49.png

这个地址在Gradle插件项目中会用到。

apply plugin: 'groovy'
apply plugin: 'maven-publish'

repositories {
   
   
    mavenCentral()
}

dependencies {
   
   
    implementation gradleApi()//gradle sdk
    implementation localGroovy()//groovy sdk
    implementation fileTree("libs/aspectjtools-1.9.19.jar")
}

jar {
   
   
    from {
   
   
        zipTree(new File(project.projectDir.absolutePath + "/libs/aspectjtools-1.9.19.jar"))
    }
}

java {
   
   
    withJavadocJar()
    withSourcesJar()
}

sourceSets {
   
   
    main {
   
   
        java {
   
   
            srcDirs = ["src"]
        }
    }
}

publishing {
   
   
    // Components are the standard way of defining a publication.
    // They are provided by plugins, usually of the language or platform variety.
    // For example, the Java Plugin defines the components.java SoftwareComponent,
    // while the War Plugin defines components.web.
    publications {
   
   
        myLibrary(MavenPublication) {
   
   
            from components.java
            groupId "com.dorachat"
            version "1.0"
        }
    }
    repositories {
   
   
        maven {
   
   
            name = "beta"
            // 不使用https
            allowInsecureProtocol true
            url = uri("http://47.236.19.46:8081/repository/maven-releases/")
            credentials {
   
   
                username = "admin"
                password = "填入你的Nexus密码"
            }
        }
    }
}

// 注意⚠️:   插件修改后需要重新发布: ./gradlew clean build publish --info
// 注意jdk的字节码版本和gradle的对应关系

我这里就为了图方便,就不加ssl证书了,这样的话要设置allowInsecureProtocol证书为true,你也可以添加SSL证书,这样就可以以https的方式访问了。然后执行

./gradlew clean build publish --info

这行命令就发布成功了。

截屏2023-06-30 14.24.57.png

Java字节码版本对照

如果你报这个错: General error during conversion: Unsupported class file major version 63,那就是gradle和jdk版本不匹配导致的。

49 = Java 5

50 = Java 6

51 = Java 7

52 = Java 8

53 = Java 9

54 = Java 10

55 = Java 11

56 = Java 12

57 = Java 13

58 = Java 14

59 = Java 15

60 = Java 16

61 = Java 17

62 = Java 18

63 = Java 19

64 = Java 20

Java ve
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dora丶Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值