移动神器RAX3000M路由器不刷固件变身家庭云之五(高级应用):设置成maven私服

由于我们项目经常会使用一些自研的公共组件,把这些组件放在一个共同的maven私服,这样大家就可以自动下载这些组件了。

前面文章里,我们设置好了uhttpd和vsftpd两个服务,http服务把管理界面移到隐藏的子目录里了。

现在我们可以把路由变成maven私服,我的方案是,建一个目录(/mnt/usb/sda1/mvn)作为私服存储。开发人员可能通过vsftpd把组件部署到这个目录里,maven可以通过http://xxxx.xxx.xx/mvn 来下载组件。

下面一步步开干:

增加用户mvn,以便上传组件

复制代码
adduser -h /mnt/usb/sda1/mvn -s /bin/false -G ftp mvn

输入再次密码,用户创建好了,可以从ftp登录看看。记得我们在vsftpd设置时,建议大家启用:

chroot_local_user=YES

这样的话,现在mvn登录ftp应该直接被限制在/mnt/usb/sda1/mvn这个目录下面了。

去检查一下这个目录应该已经被自动创建了:

/mnt/usb/sda1/mvn

现在我们要让mvn deploy命令把组件部署到仓库里了

设置maven组件部署

在我们项目的根pom里,添加如下内容:

xml 复制代码
    <distributionManagement>
        <repository>
            <id>xxx-maven-repo-rel</id>
            <name>xxx Release Repo</name>
            <url>ftp://xxx.dynv6.net:8021/</url>
        </repository>
        <snapshotRepository>
            <id>xxx-maven-repo-sn</id>
            <name>xxx Release Repo</name>
            <url>ftp://xxx.dynv6.net:8021/</url>
        </snapshotRepository>
    </distributionManagement>

在用户主目录下的.m2目录下有个settings.xml文件, 加上认证信息

xml 复制代码
  <servers>
    <!-- server
     | Specifies the authentication information to use when connecting to a particular server, identified by
     | a unique name within the system (referred to by the 'id' attribute below).
     |
     | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
     |       used together.
     |
    <server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
    </server>
    -->
    <server>
      <id>xxx-maven-repo-rel</id>
      <username>mvn</username>
      <password>password</password>
    </server>
    <server>
      <id>xxx-maven-repo-sn</id>
      <username>mvn</username>
      <password>password</password>
    </server>
  </servers>

好了,现在执行下mvn deploy命令看看是不是能上传组件了?

设置maven下载你的组件

这步就很简单了,在我们项目的根pom里,添加如下内容:

xml 复制代码
    <repositories>
        <repository>
            <id>iisp</id>
            <name>iisp-repo</name>
            <url>http://xxx.dynv6.net:8080/mvn/</url>
        </repository>

注意:3.6以后的版本不支持http了,只支持https。

后续文章会讲到怎么配置https ...

移动神器RAX3000M路由器变身家庭云之一:开通SSH,安装新软件包
移动神器RAX3000M路由器变身家庭云之二:安装vsftpd
移动神器RAX3000M路由器变身家庭云之三:外网访问家庭云

移动神器RAX3000M路由器不刷固件变身家庭云之五(高级应用):设置成maven私服
移动神器RAX3000M路由器变身家庭云之四:开放LuCI管理界面,网站服务
移动神器RAX3000M路由器不刷固件变身家庭云之六(高级应用):设置https

相关推荐
白帽攻防录3 小时前
SRC 挖洞:Roundcube 预认证 SQL 注入深度复盘,CVE-2026-48842 preg_replace 转义绕过怎么打穿邮件系统
网络·数据库·sql·网络安全·sql注入
shuoshuohaohao4 小时前
MyBatis 小知识点
java·spring·mybatis
海上小飞龙4 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
谢亮_vipxieliang5 小时前
泛型擦除、通配符与 PECS 一次讲透
java·面试
八解毒剂5 小时前
【计组】中央处理器CPU
java·开发语言·计算机组成原理
打工仔折腾 AI6 小时前
工业场景下时序库与实时计算一体化架构选型实践对比
java·开发语言·后端·python·性能优化·架构·ai agent 实战
ZealSinger6 小时前
Java虚拟线程上线后瓶颈转移到哪看三层
java·开发语言·firefox
2601_961133286 小时前
盘立方软件指标文华期货公式下载
java
蜗牛互联网6 小时前
长任务多Agent共享文件系统的Manifest交接模式
java·人工智能·后端
Sirens.7 小时前
Java并发锁详解:六类锁策略与 synchronized 底层原理
java·前端·算法