家用版本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' // 上面生成的随机密码
    }
}
相关推荐
keyipatience2 分钟前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
weixin_4080996728 分钟前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
钱六两1 小时前
#3、SpringAI 接入deepSeek大模型(喂饭版)
java·spring boot·ai编程
null_172 小时前
IntelliJ IDEA 极致流畅配置方案:Ultra 9 285K + 64GB 内存实测
java·ide·intellij-idea
Herbert_hwt2 小时前
建立Java程序开发
java·开发语言
好好沉淀2 小时前
@ExcelIgnoreUnannotated 和 @AutoMapper 详解
java
愚公移码3 小时前
蓝凌EKP18产品:流程虚拟机(PVM)
java·开发语言·前端
驰骋工作流3 小时前
流程引擎BPM设计之:流程消息
java·工作流引擎·bpm·jflow·ccflow
dogstarhuang3 小时前
从 0 到 1 搭建可收费的 API 开放平台(实战)
java·架构·api
VortMall4 小时前
『平台去经营化』平台治理能力全新重构|VortMall微服务商城系统v1.3.10
java·大数据·微服务·商城系统·开源商城·vortmall·去经营化