从服务器的搭建,到项目部署运行,难道还有比这更全的环境搭建文档(二)

接上文

六、 nexus3搭建maven私服


搭建nexus3环境

\(~~~~~~~~\) 1. 官网下载对象的压缩包:下载地址:http://www.sonatype.org/nexus/go
\(~~~~~~~~\) 2. 通过shell上传到服务器
\(~~~~~~~~\) 3. 解压命令,解压

tar -zxvf 

\(~~~~~~~~\) 4. 调整jvm参数

cd /nexus/bin/
vim nexus.vmoptions
#根据服务器适当调整jvm参数


保存


启动nexus(在bin目录下):

./nexus start


配置nexus私服,导入阿里云

\(~~~~~~~~\) 1. 登录nexus的可视化web页面,默认端口号8081

  • Nexus默认的端口是8081,可以在etc/nexus-default.properties配置中修改。

  • Nexus默认的用户名密码是admin/admin123

  • 当遇到奇怪问题时,重启nexus,重启后web界面要1分钟左右后才能访问。

Nexus的工作目录是sonatype-work(路径一般在nexus同级目录下),日志文件也在这里。
在阿里云控制台放开8081端口

访问:http://8.***.101.174:8081/


出现上面的页面即代表安装成功,


\(~~~~~~~~\) 2 . 配置 nexus
先看一下大概的目录结构:


资源库也就是这么三种
参考文章:Nexus搭建Maven私服全攻略一:认识Nexus与索引

\(~~~~~~~~\) 2 . 1 创建 Blob Strores
在创建 repository之前,还是需要先设定一个指定的文件存储目录(用来存放jar包),便于统一管理。在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。



\(~~~~~~~~\) 2 . 2 创建 Proxy Repository 代理仓库。

配置 Proxy Repository代理仓库。创建页面出来之后,页面上有三个框是必填的:

注意:可以多建几个proxy repository,以便于可以加入更多的远程maven仓库到我们的 group 仓库中。唯一一点,就是看加入的proxy资源库使用的是国内的还是国外的远程仓库。加入group资源库的顺序应是:hosted仓库 > 国内proxy仓库 > 国外proxy仓库。

这里推荐几个远程仓库:

jboss的maven中央仓库地址:http://repository.jboss.com/maven2/
阿里云的maven中央仓库地址:http://maven.aliyun.com/nexus/content/groups/public/
apache的maven中央仓库地址:http://repo.maven.apache.org/maven2/



\(~~~~~~~~\) 2 . 3 创建 hosted repository 宿主仓库

\(~~~~~~~~\) Hosted有三种方式:Releases、Snapshot、Mixed
\(~~~~~~~~\) Releases: 一般是已经发布的Jar包
\(~~~~~~~~\) Snapshot: 未发布的版本
\(~~~~~~~~\) Mixed:混合的




\(~~~~~~~~\) 2 . 4 创建 group repository 仓库组




至此我们的nexus配置完成。

让 Maven 项目使用 Nexus 私服

$\(3. 让 Maven 项目使用 Nexus 私服 \)$3.1 下载Jar:设置 Nexus 为镜像地址
Maven 下的setting.xml文件和你自己项目中的pom.xml文件的关系:

  • settting.xml 文件就是本地电脑上的全局变量;而pom.xml文件就是局部变量。

  • pom.xml文件对于项目来说,是优先使用的。然而pom.xml文件中如果没有指定jar要从哪里下载的话,也就是说没有配置镜像地址的话,当然只能去按照settting.xml 中定义的地址去找了
    拷贝的这个地址,就是下面即将在setting.xml文件中添加时使用的:


    在我们maven的setting.xml中添加:
  <!--自定义maven本地仓库地址-->
  <localRepository>D:\apps\repository</localRepository>
  <!--nexus服务器-->
  <servers>  
    <server>  
        <id>nexus</id>  
        <username>admin</username>  
        <password>admin123</password>  
    </server>   
  </servers>  
  <!--仓库组的url地址  id和name自定义,mirrorOf的值设置为central,写死的-->  
  <mirrors>     
    <mirror>  
        <id>nexus</id>  
        <name>nexus repository</name>  
        <url>http://IP:8081/repository/myself_group/</url>  
        <mirrorOf>central</mirrorOf>  
    </mirror>     
  </mirrors>  

然后将IDEA或Eclipse的Maven->setting.xml 地址指向该 setting.xml 位置

$~~~~~~~~$3.2部署上传Jar:配置distributionManagement

配置 distributionManagement 节点,执行 deploy 命令时,会将jar发布到指定地址。

注意:配置20180929-SNAPSHOT时,如果后面添加了SNAPSHOT,则会自动发布到指定的snapshots仓库,否则发布到releases仓库。
项目的pom.xml:

<project>
...
<distributionManagement>
  <repository>
    <id>nexus-releases</id>
      <name>Nexus Release Repository</name>
      <url>http://localhost:8081/nexus/content/repositories/releases/</url>
  </repository>
  <snapshotRepository>
    <id>nexus-snapshots</id>
    <name>Nexus Snapshot Repository</name>
    <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
  </snapshotRepository>
</distributionManagement>
...
</project>

settings.xml:

<settings>  
...   
<servers>  
  <server>  
    <id>nexus-releases</id>  
    <username>admin</username>  
    <password>admin123</password>  
  </server>  
  <server>  
    <id>nexus-snapshots</id>  
    <username>admin</username>  
    <password>admin123</password>  
  </server>     
</servers>  
...   
</settings>  

两个文件的 id 需要保持一致!

参考文章:Nexus搭建Maven私服全攻略二:安装和配置Nexus3


搭建环境系列

服务器,mysql5.7,jdk1.8,tomcat8,maven3.5(一)
nexus3搭建maven私服(二)
tomcat8,搭建jenkins自动化持续部署(代码在github)(三)

posted @ 2020-12-18 15:34  Mr*宇晨  阅读(171)  评论(0编辑  收藏  举报