家用版本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' // 上面生成的随机密码
    }
}
相关推荐
pkowner12 分钟前
若依分页问题及解决方法
java·前端·算法
largecode1 小时前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter
xuhaoyu_cpp_java1 小时前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
计算机安禾1 小时前
【c++面向对象编程】第22篇:输入输出运算符重载:<< 与 >> 的友元实现
java·前端·c++
旷世奇才李先生1 小时前
Java虚拟线程原理与实践
java
heimeiyingwang1 小时前
【架构实战】RPC框架Dubbo3.0:高性能Java通信之道
java·rpc·架构
i220818 Faiz Ul1 小时前
宠物猫之猫咖管理系统|基于java + vue宠物猫之猫咖管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·宠物猫之猫咖管理系统
Nyarlathotep01131 小时前
定时线程池:ScheduledThreadPoolExecutor
java·后端
i220818 Faiz Ul2 小时前
二手交易系统|基于springboot + vue二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·二手交易系统
旷世奇才李先生2 小时前
Spring Security OAuth2完整集成方案
java