家用版本maven的创建方法

背景是在家里写代码,有时候想发布一个组件。

看起来有几个选项,要么是发布到github,要么是发布到jetpat。

但是我的组件又不太想对所有人开放。

部署一个maven center需要几个g的内存,我的云服务器只有1C1G,完全带不动这么高的配置。

所以这是本文的方法用nginx替代maven.

发布到简易版本maven

step 1, 发布到本地文件

java 复制代码
apply plugin: 'maven-publish'

def build_data = new Date().format('yyyyMMddHH')

afterEvaluate {

    publishing {
        publications {
            release(MavenPublication) {
                def releaseComponent = components.findByName("release")
                if (releaseComponent != null) {
                    from releaseComponent
                }
                groupId = "org.yeshen"
                artifactId = "tcpdump"
                version = "1.0.${build_data}"
            }
        }

        repositories {
            maven {
                url "file://" + projectDir + "../../../export"
            }
        }
    }

}
复制代码
apply from: rootProject.file('gradle/git-publish.gradle')

./gradlew :libtcpdump:publish

step 2 拷贝文件到nginx目录

sh 复制代码
scp -r ../export/* ${ssh_server_path}

step 3 使用

复制代码
maven {
    url = uri("https://${你的域名}$/${路径}")
}

鉴权

生成密码文件

复制代码
sudo apt update
sudo apt install apache2-utils
openssl rand -base64 16
# 获取随机密码

# 创建文件并添加用户 yeshen(交互式输入密码)
sudo htpasswd -c /etc/nginx/.htpasswd yeshen
# 填入上面生成的随机密码

nginx配置访问权限

配置

复制代码
location /maven {
    auth_basic "Maven Repository";
    auth_basic_user_file /etc/nginx/.htpasswd;
    autoindex on;
}

生效配置

sh 复制代码
sudo nginx -t
sudo systemctl restart nginx

使用

复制代码
maven {
    url = uri("https://${domain}/maven")
    credentials {
        username = 'yeshen' // 上面的用户名
        password = 'xxxxx' // 上面生成的随机密码
    }
}
相关推荐
yaoxin5211232 小时前
391. Java 文件操作基础 - 方法链式调用
java·开发语言·python
一铭111992 小时前
gpt-claude-gemini 超级大模型安装使用教程
java·python·gpt·ai编程·claude·gemini
weisian1512 小时前
Java并发编程--44-分布式限流:令牌桶与漏桶算法在网关层的落地
java·分布式·令牌桶算法·漏桶算法·固定窗口算法·滑动窗口算法
SamDeepThinking2 小时前
秒杀系统怎么区分真实用户和黄牛脚本?
java·后端·架构
2301_792674862 小时前
java学习day31(redis)
java·redis·学习
小碗羊肉2 小时前
【从零开始学Java | 第四十一篇】深入多线程
java·开发语言
xuhaoyu_cpp_java2 小时前
MyBatis学习(一)
java·经验分享·笔记·学习·mybatis
wuxinyan1232 小时前
Java面试题50:Kubernetes 全栈知识体系之一
java·kubernetes·面试题