家用版本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' // 上面生成的随机密码
    }
}
相关推荐
覆东流2 分钟前
2.Java程序基础
java·开发语言·后端
snow@li8 分钟前
SpringBoot:全套生命周期全景详解/应用级+Bean级
java·spring boot·rpc
love_muming20 分钟前
二叉树操作全解析:从递归到层序遍历
java·数据结构·算法·二叉树
小的~~21 分钟前
ThreadLocal 、InheritableThreadLocal 与 TransmittableThreadLocal 的进阶指南
java·开发语言
北极糊的狐32 分钟前
钉钉小程序报错data.formatTime is not a function是因为 axml 模板中不能直接调用 Page 内自定义方法!
java·小程序·钉钉
·薯条大王10 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
ZJH__GO13 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
程序员黑豆13 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光13 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
凤山老林13 小时前
Spring Boot @Async 线上实战:从默认配置到生产级线程池治理
java·spring boot·后端