河北汉佳 做网站的公司,自己电脑做服务器建网站,正规网络推广平台,网站建设鸿儒为何用到Maven私服#xff1f; 在实际开发中#xff0c;项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。 我们从项目实际开发来看#xff1a; 一些无法从外部仓库下载的构件#xff0c;例如内部的项目还能部署到私服上#xff0c;以便供其他依赖…为何用到Maven私服 在实际开发中项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。 我们从项目实际开发来看 一些无法从外部仓库下载的构件例如内部的项目还能部署到私服上以便供其他依赖项目使用。 为了节省带宽和时间在局域网内架设一个私有的仓库服务器用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时先去私服请求如果私服没有则再去远程仓库请求从远程仓库下载构件后把构件缓存在私服上。这样及时暂时没有Internet链接由于私服已经缓存了大量构件整个项目还是可以正常使用的。同时也降低了中央仓库的符合。 如上摘抄自私服服务器架设如下为详细步骤
1、下载一个nexus3的镜像
docker pull sonatype/nexus32、将容器内部/var/nexus-data挂载到主机/root/nexus-data目录
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restartalways sonatype/nexus3通过 docker ps -a 查看容器启动情况 验证通过id查看容器的详细信息输出如下ip地址。
docker inspect 容器id紧接着访问以下这个地址试一下curl 127.17.0.2:8081 如果启动失败可关闭防火墙再试一下
systemctl stop firewalld.serviceok启动后浏览器访问一下 http://ip:8081 至此私服搭建成功。
默认登陆账号 admin admin123 注意这个时候你可能会遇到如下这个错误
Incorrect username or password, or no permission to use the application. maven私服登录的时候默认是不能使用明文密码要使用密文密码一般在你创建容器的目录下比如 root/nexus-data/admin.password 注意需要进入容器中找见下方指令与图 docker exec -it c2101070de57 bash
bash-4.2$ cd /nexus-data/
bash-4.2$ cat admin.password
d62fa667-a22b-41db-a14a-6aa6f793f4fbbash-4.2$ 去掉后面的 bash-4.2$d62fa667-a22b-41db-a14a-6aa6f793f4fb 即为密码。
重新登陆后会提示你重设密码 3、创建maven仓库
上传maven私服之前我们先创建个仓库 选择maven2hosted 填写仓库信息 创建用户 填写基本信息 创建好账户后就可以在右上角切换账户了。
接着就是配置本地 maven conf 了找到自己本机的 maven conf 下的 setting.xml 文件添加如下信息 注意是 services 节点下
servicesserveridttyy/idusernamettyy/usernamepasswordttyy/password/server/services4、如何将架包上传到maven私服
创建一个普通的 maven 项目配置 pom.xml 如下
!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE --
!--指定仓库地址 --
distributionManagementrepository!--此名称要和.m2/settings.xml中设置的ID一致 --idttyy/idurlhttp://192.168.10.130:8081/repository/ttyy-release//url/repository
/distributionManagementbuildplugins!--发布代码Jar插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-deploy-plugin/artifactIdversion2.7/version/plugin!--发布源码插件 --plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-source-plugin/artifactIdversion2.2.1/versionexecutionsexecutionphasepackage/phasegoalsgoaljar/goal/goals/execution/executions/plugin/plugins
/build项目命令行中执行如下指令
mvn deploy发布成功后如何搜索呢如下图 发布后如何使用呢相信很多小伙伴肯定用过阿里云的私服一样的道理啦
dependenciesdependencygroupIdclub.sscai/groupIdartifactIdttyy-springboot/artifactIdversion1.0-RELEASE/version/dependency
/dependenciesrepositoriesrepositoryidttyy/idurlhttp://192.168.10.130:8081/repository/ttyy-release//url/repository
/repositories我创建了一个java相关的公众号用来记录自己的学习之路感兴趣的小伙伴可以关注一下微信公众号哈niceyoo