一、maven找库流程

  

  从流程上看创建nexus私服,能够优化流程,而且更加快速

二、nexus下载、安装

  1、nexus下载地址   

https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.5-02-bundle.tar.gz

  2、nexus解压并安装环境 

#解压
tar -zxif nexus-2.14.5-02-bundle.tar.gz
#在环境变量中设置启动用户
vim /etc/profile
#安全起见不建议使用root用户,如果使用其它用户需要加相应权限
RUN_AS_USER=root

  3、配置启动参数

#${nexusBase}为nexus的安装路径
vim ${nexusBase}/conf/nexus.properties
#端口号
applicatiom-port=8081
#仓库地址
nexus-work=${bundleBasedir}/../sonatype-work/nexus
#启动nexus
${nexusBase}/bin/nexus start
#停止nexus
${nexusBase}/bin/nexus stop

  4、登录nexus界面

地址:http://{ip}:8081/nexus/
默认用户名:admin
默认密码:admin123

  5、手动更新索引

    前往maven中央仓库下载indexer-cli-5.1.1.jar 

http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.maven.indexer%22%20AND%20a%3A%22indexer-cli%22

  6、下载索引文件

http://repo.maven.apache.org/maven2/.index/
nexus-maven-repository-index.gz
nexus-maven-repository-index.properties

  7、解压索引文件

java -jar indexer-cli-5.1.1.jar -u nexus-maven-repository-index.gz -d indexer

8、拷贝索引文件至目录

{nexus-home}/sonatype-work/nexus/indexer/central-ctx

  9、重启nexus

  注意:觉得麻烦可以直接下载:https://pan.baidu.com/s/1qzllVcr5nqiX2EKVlof5Wg,里面包含所有需要的文件

三、maven配置优化及设置

  1、优化maven里的setting配置

#设置maven本地仓库地址
<localRepository>F:\maven</localRepository>
#设置快照版本服务
<servers>#对应exclipe/idea项目中parent,pom.xml里的distributionManagement<id>nexusSnapshot</id><username>deployment</username><password>deployment123</password></server>
</servers>
#设置镜像
<mirrors><mirror><id>nexusSnapshot</id>#全部走nexus私服<mirrorOf>*</mirrorOf><name>nexus</name><url>http://192.168.1.32:8082/nexus/content/groups/public/</url></mirror></mirrors>
#配置仓库地址
<profiles><profile><id>common</id><repositories><repository><id>nexusSnapshot</id><name>snapshots</name><url>http://*</url></repository><repository><id>nexusCentral</id><name>nexusCentral</name><url>http://*</url></repository><repository><id>nexusReleases</id><name>nexusReleases</name><url>http://*</url></repository></repositories>#配置编译的jdk<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile></profiles><activeProfiles><activeProfile>common</activeProfile></activeProfiles>

  2、修改pom.xml

<distributionManagement><repository><id>nexusSnapshot</id><name>nexusSnapshot</name><url>http://192.168.1.32:8082/nexus/content/repositories/snapshots/</url></repository></distributionManagement>

四、nexus仓库与仓库组

  1、nexus内置仓库

  登陆用户,单击Nexus界面左边导航栏中的Repositories链接,就可以看到内置的仓库

  2、从中可以看到仓库有四种类型:

- group(仓库组)
- hosted(宿主)
- proxy(代理)
- virtual(虚拟)

  3、每个仓库的格式为maven2或者maven1。此外,仓库还有一个属性为Policy(策略),表示该仓库为发布(Release)版本仓库还是快照(Snapshot)版本仓库。最后两列的值为仓库的状态和路径。

    Maven Central:该仓库代理Maven中央仓库,其策略为Release,因此只会下载和缓存中央仓库中的发布版本构件。Releases:这是一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。Snapshots:这是一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件。3rd party:这是一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。Apache Snapshots:这是一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构件。Codehaus Snapshots:这是一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件。Google Code:这是一个策略为Release的代理仓库,用来代理Google Code Maven仓库的发布版本构件。java.net-Maven 2:这是一个策略为Release的代理仓库,用来代理java.net Maven仓库的发布版本构件。Public Repositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务。Public Snapshot Repositories:该仓库组将上述所有策略为Snapshot的仓库聚合并通过一致的地址提供服务。

  4、Nexus仓库分类的概念

五、maven生命周期

  

clean lifecycle : 构建前的清理工作
•   pre-clean 执行一些需要在clean之前完成的工作
•   clean 移除所有上一次构建生成的文件
•   post-clean 执行一些需要在clean之后立刻完成的工作
Default lifecycle: 构建的核心部分,编译、打包、部署、上传
•   validate 项目及所必须的环境验证
•   initialize 初始化构建状态,例如设置属性或创建目录。
•   generate-sources 生成次源包
•   process-sources
•   generate-resources
•   process-resources 复制并处理资源文件,至目标目录,准备打包。
•   compile 编译项目的源代码。
•   process-classes
•   generate-test-sources
•   process-test-sources
•   generate-test-resources
•   process-test-resources 复制并处理资源文件,至目标测试目录。
•   test-compile 编译测试源代码。
•   process-test-classes
•   test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
•   prepare-package
•   package 接受编译好的代码,打包成可发布的格式,如 JAR 。
•   pre-integration-test
•   integration-test
•   post-integration-test
•   verify
•   install 将包安装至本地仓库,以让其它项目依赖。
•   deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。
site lifecycle:项目报告生成,站点文档生成
•   pre-site 执行一些需要在生成站点文档之前完成的工作
•   site 生成项目的站点文档
•   post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
•   site-deploy 将生成的站点文档部署到特定的服务器上

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=ej6dteqjfixd

转载于:https://www.cnblogs.com/gamehiboy/p/9055661.html

nexus私服搭建及maven生命周期相关推荐

  1. Maven实战:Maven生命周期

    前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...

  2. idea中maven生命周期(通俗易懂)

    maven生命周期 (java技术栈) clean-清理操作 变化 项目路径下的 target 目录已删除,本地仓库中如果存在之前已安装的该项目包,不会删除 结论 清理掉项目路径下的 target 目 ...

  3. maven生命周期和常用命令

    1,生命周期 Maven 有以下三个标准的生命周期: clean:项目清理的处理     default(或 build):项目部署的处理     site:项目站点文档创建的处理 目标的执行顺序取决 ...

  4. 【Maven】IDEA中Maven生命周期

    Maven生命周期(lifecycle)由各个阶段组成,每个阶段由Maven的插件plugin来执行完成. 生命周期(lifecycle)主要包括clean.resources.complie.ins ...

  5. maven 生命周期

    2019独角兽企业重金招聘Python工程师标准>>> maven 生命周期 博客分类: maven . 三套生命周期      Maven拥有三套相互独立的生命周期,它们分别为cl ...

  6. maven生命周期lifecycle和plugins介绍

    一.Maven的生命周期 生命周期的定义:Maven的生命周期就是为了对所有的构建过程进行抽象和统一.在大量项目的构建过程中,Maven总结出了一套高度完善的,易于扩展的生命周期,包括项目的清理,初始 ...

  7. Maven-学习笔记04【基础-Maven生命周期和概念模型图】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

  8. Maven生命周期和插件的那些事(2021版)

    前言:在日常开发中我们经常使用IDE提供的MAVEN功能,如下图所示,通过右键->run maven build的方式或者通过命令行运行maven命令的方式来对项目进行构建.在我们通过简单操作就 ...

  9. 数据运营小白如何搭建“初期用户生命周期体系”?

    在用户全生命周期的流程中,无论是产品还是运营,都希望了解用户在不同产品阶段的产品使用特点,然后根据不同的特点来设计运营动作以此来提升用户的转化及留存. 在本次内容中我将从运营的视角,结合之前参与的一个 ...

最新文章

  1. fiddler教程:抓包带锁的怎么办?HTTPS抓包介绍。
  2. Python学习之==json处理
  3. c语言数据储存系统,编的学生成绩管理系统 从文件中读取保存数据总会多读入一组乱码数据...
  4. 基于matlab_simulink汽车三自由度模型仿真
  5. CocoaPods的安装[转载]
  6. 显示Flash时控制其的宽度与高度
  7. Spring Ioc源码分析 之 Bean的加载(7):初始化
  8. Grunt-cli的执行过程以及Grunt加载原理
  9. MFC中绘制动态曲线
  10. 逻辑建模与物理建模_架构层和建模域逻辑
  11. Mac与centos的ip配置
  12. 【Spark】SparkStreaming之windows操作
  13. [Angularjs]视图和路由(一)
  14. debian 配置linuxptp 软件时间戳
  15. Unix系统中常用的信号含义
  16. 消除input标签的自动填充 白色背景,及更改字体颜色
  17. 安利一个自动求导网站
  18. ❤️Hello Programmer❤️
  19. eGPU 能否一战?- Tensorflow GPU 基准测试
  20. 网络营销与html,网络营销和线上推广的重要性

热门文章

  1. 专访.NET平台上类RoR开源项目Castle[转载]
  2. 039_External Data Source(转载)
  3. iOS 修改UITabBar的默认点击行为
  4. Tomcat相关目录及配置文件总结
  5. Spring @Aspect切面参数传递
  6. Oracle常见操作汇总(转)
  7. 项目前的知识点准备(1)
  8. What is Proguard?
  9. struts.preperties说明
  10. struts 2.x版本 datetimepicker日期控件的使用