移动神器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

相关推荐
顾北川_野4 分钟前
Android 手机设备的OEM-unlock解锁 和 adb push文件
android·java
江深竹静,一苇以航7 分钟前
springboot3项目整合Mybatis-plus启动项目报错:Invalid bean definition with name ‘xxxMapper‘
java·spring boot
weixin_4426434222 分钟前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
confiself23 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
Wlq041527 分钟前
J2EE平台
java·java-ee
XiaoLeisj34 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
阑梦清川36 分钟前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
豪宇刘1 小时前
SpringBoot+Shiro权限管理
java·spring boot·spring
Elaine2023911 小时前
02多线程基础知识
java·多线程
gorgor在码农1 小时前
Redis 热key总结
java·redis·热key