本地部署maven

1、下载maven,在pc端安装maven,然后将下载的maven解压到本地目录。如解压到d:\develop\apache-maven-3.5.0,配置maven的环境变量,通过mvn  -version来验证maven是否成功部署

2、pc端安装完maven后,如果IDE开发工具中没有maven插件的话,要在IDE(比如eclipse)中使用自定义安装的maven的话,需要在ide中安装maven插件。

安装的方式有两种:1.在线安装  2.离线安装

 1)、在线安装:

  这貌似是用的最多的,就是:Help  –>  Install New Software,然后输入 HTTP 地址来安装,但有一个很明显的缺点,就是慢,即使网络好也不见得很快安装好!

  打开eclipse,点击Help  –>  Install New Software 弹出窗口,在work with的输入栏中输入:juno - http://download.eclipse.org/releases/juno,然后点击ADD稍等片刻后再输入maven来查找maven插件,待maven插件安装成功后重启eclipse即可

 2)、离线安装maven插件

  •   下载maven离线插件eclipse-maven3-plugin.zip   下载地址为:http://pan.baidu.com/s/1kTHXgxD
  •   在你的 eclipse 安装的根目录(path= D:/develop/eclipse/)下创建两个文件夹:links,plugins(名字可以随便取)
  •   eclipse-maven3-plugin.7z 解压缩到 plugins 目录下
  •   在 links 目录下创建一个maven.link(名字可以随便取,但必须是.link结尾的文件)文件,打开maven.link并输入:path= D:/develop/eclipse/plugins/maven
  •   重启 eclipse,OK,完成了,启动后你打开Window —> Preferences 会发现一个多了一个选项Maven,说明安装成功了。

3、打开eclipse,将eclipse默认使用的maven改为自定义安装的maven

 创建maven的本地仓库目录:d:\develop\maven\repo

 修改maven的setting.xml配置文件,即修改maven的本地仓库目录

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>-->
<localRepository>D:\develop\maven\repo</localRepository>

 修改eclipse的maven插件的user setting如下:

 添加maven的仓库路径的buildpath

maven私服nexus的部署

1、下载开源的maven私服工具nexus,下载地址为:https://www.sonatype.com/download-oss-sonatype

2、部署nexus私服服务器

[root@linux-node1 ~]# tar  xf nexus-2.14.8-01-bundle.tar.gz -C  /soft/
[root@linux-node1 soft]# ln  -s  /soft/nexus-2.14.8-01  /soft/nexus
#修改nexu配置文件
[root@linux-node1 conf]# vim  nexus.properties
# Jetty section
application-port=8888
application-host=192.168.80.200
nexus-webapp=${bundleBasedir}/nexus
nexus-webapp-context-path=/nexus# Nexus section
nexus-work=${bundleBasedir}/../sonatype-work/nexus
runtime=${bundleBasedir}/nexus/WEB-INF# orientdb buffer size in megabytes
storage.diskCache.bufferSize=4096#启动nexus服务
[root@linux-node1 ~]# /soft/nexus/bin/nexus  start
#检查nexus启动是否正常
[root@linux-node1 ~]# netstat -lntup
tcp        0      0 192.168.80.200:8888         0.0.0.0:*                   LISTEN      3755/java

3、使用http://192.168.80.200/nexus地址打开nexus的url,默认的用户名是 admin 密码是 admin123登陆,配置一下maven的代理服务器

 选择Public Repositories,将新配置问的代理服务nexus aliyun添加到这个组中

 nexus可以使用代理仓库的方式构建mavens组件,也可以让第三方的jar上传到nexus供maven项目使用。上传oracle的驱动包

4、nexus私服设置好后就可以创建maven项目了

 在eclipse中创建好maven项目后,修改pom.xml,修改maven的远程仓库地址为:http://192.168.80.200:8888/nexus/content/groups/public/配置如下:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.goser</groupId><artifactId>mvnDemo</artifactId><version>0.0.1-SNAPSHOT</version><name>mvnDemo</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><repositories><repository><id>nexus</id><name>Team Nexus Repository</name><url>http://192.168.80.200:8888/nexus/content/groups/public/</url></repository></repositories><pluginRepositories><pluginRepository><id>nexus</id><name>Team Nexus Repository</name><url>http://192.168.80.200:8888/nexus/content/groups/public/</url></pluginRepository></pluginRepositories><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>
</project>

 比如maven项目中需要mysql-java包,可以在pom.xml配置文件中添加mysql依赖包信息即可:

   <dependency><groupId>Mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency>

 保存pom.xml文件后,maven项目会先从本地仓库查找这个mysql依赖包,如果本地没有则会从远程仓库中下载,而这个远程仓库就需要nexus代理访问并下载到nexus服务器上,同时也将这个需要下载的依赖包下载到pc端的本地仓库中。

 验证是否在nexus服务器上保存有下载的依赖包:

[root@linux-node1 ~]# ll /soft/sonatype-work/nexus/storage/Nexus-aliyun/Mysql/mysql-connector-java/5.1.38/total 968
-rw-r--r-- 1 root root 983911 Dec  2  2015 mysql-connector-java-5.1.38.jar
-rw-r--r-- 1 root root   1105 Dec  2  2015 mysql-connector-java-5.1.38.pom

 验证是否在pc端本地是否有下载的依赖包

这样nexus私服部署完成,只要pc端构建maven项目后新的依赖包就会在nexus服务器上保存一份依赖,其他开发组成员如果也要这些依赖包就会直接从nexus服务器上下载。

5、更新仓库索引

 1)、强制更新索引

  nexus索引经常会出现与远程仓库索引不一致的情况,导致某些包不能正常下载,可以强制更新仓库索引,保持索引同步

  右键点击仓库,选择Update Index

 2)、定时更新索引

  左侧导航栏选择Administration->Scheduled Tasks ,点击add添加一个计划任务

  任务类型选择:Update Repositories Index,Repository/Group选择要更新的仓库,Recurrence选择计划任务的周期类型

6、maven发布项目到nexus

 当我们的项目开发完成以后,可能要进行发布(如果是独立的项目,就不需要发布啦,如果是模块项目,那么就要发布到nexus里,供其他开发人员下载调用。要想发布项目到nexus里,必须通过<distributionManagement>标签来进行配置。在之前的文章中有介绍nexus的工厂类别.当我们发布项目到nexus里时,如果项目版本是x.x.x-Releases,则会发布到Releases工厂中;而项目版本是x.x.x-SNAPSHOTS则发布到Snapshots工厂中。

 在pom.xml中添加maven发布项目到nexus的仓库

   <distributionManagement><repository><id>releasesId</id><name>Releases name</name><url>http://192.168.80.200:8888/nexus/content/repositories/releases/</url></repository><snapshotRepository><id>snapshotsid</id><name>snapshots name</name><url>http://192.168.80.200:8888/nexus/content/repositories/snapshots/</url></snapshotRepository></distributionManagement>

 配置settings.xml授权用户可以发布maven到nexus: 在setting.xml里使用<server>标签进行授权。server里的id对应<distributionManagement>里设置的id。

  <servers><server><id>releasesId</id><username>admin</username><password>admin123</password></server><server><id>snapshotsid</id><username>admin</username><password>admin123</password></server></servers>

 最后右键项目 --> run as  ---> maven Build... --> 输入clean deploy命令,maven项目便上传到nexus中,如果是snapshot版则上传到snapshot仓库中,如果是release版则上传到release仓库中。

 maven build完成后,查看snapshot仓库,可以看到maven的snapshot版的包已经上传到snapshot仓库了。如下:

 当然在生产环境中不应该使用admin用户作为maven项目来上传到nexus仓库,应该创建一个用户、角色等来作为maven项目的上传操作。

转载于:https://www.cnblogs.com/goser/p/9145875.html

创建私服maven服务相关推荐

  1. 使用Nexus创建私服

    使用Nexus创建私服 部署环境是windowsxp 首先从 http://nexus.sonatype.rog/downloads 下载最新版的Nexus 我们可以根据个人的需求下载.里面有nexu ...

  2. 【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架

    技术推荐 自定义Archetype Maven骨架/以当前项目为模板创建maven骨架,可以参考http://maven.apache.org/archetype/maven-archetype-pl ...

  3. Maven如何用Eclipse创建一个Maven项目【笔记自用】

    1.Maven的安装与设置环境变量 想要创建一个Maven项目需要先安装Maven,并且设置好环境变量 去下载Maven 设置环境变量 新建变量MAVEN_HOME,值为Maven的目录X:\XXX\ ...

  4. SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操 ...

  5. SpringCloud 搭建项目环境、创建 Dept 微服务、客户端调用微服务

    对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操作形式在 SpringBoot 之中已经有了明确 的讲解,那么本次为 了清晰可见,创建一套新的微服务架构:部门微服务(De ...

  6. vert.x_使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务

    vert.x 中断了将近半年后发表了一篇新文章. 在本文中,我们将快速了解如何开始使用vert.x,更有趣的是,如何使用RxJava简化异步系统的编程. 我们将涵盖以下主题: 使用Maven创建一个空 ...

  7. 使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务

    中断了将近半年后发表了一篇新文章. 在本文中,我们将快速了解如何开始使用vert.x,更有趣的是,如何使用RxJava简化异步系统的编程. 我们将涵盖以下主题: 使用Maven创建一个空的vert.x ...

  8. 一文教你如何使用 MongoDB 和 HATEOAS 创建 REST Web 服务

    作者 | Ion Pascari 译者 | 天道酬勤 责编 | 徐威龙 封图| CSDN 下载于视觉中国 最近,作者在把HATEOAS实现到REST Web服务时遇到了一件有趣的事情,而且他也很幸运地 ...

  9. SpringCloud创建Eureka Client服务注册

    1.说明 本文详细介绍微服务注册到Eureka的方法, 即Eureka Client注册到Eureka Server, 这里用任意一个Spring Cloud服务为例, 比如下面已经创建好的Confi ...

最新文章

  1. CNNIC互联网报告:中国网民超8亿 前沿科技进展显著
  2. vmdk文件怎么安装到虚拟机_【技术分享】虚拟机镜像解析
  3. [USACO1.3]混合牛奶 Mixing Milk
  4. Unmarshaller解析xml文件
  5. EFCore之命令行工具
  6. python wheel使用_【转载】Python,使用Wheel打包
  7. Effective-Python
  8. linux做完sftp端口分离后ftp,Linux 中实现文件传输服务(FTP、SFTP)
  9. 如何从函数中获取指向并调用该函数的函数指针的地址?
  10. CF984A Game
  11. IEEE Access 模板 图片编辑
  12. 临床试验中样本量确定的统计学考虑
  13. [收藏]VUE优秀UI组件库合集
  14. 【SikuliX】基于图像识别的Web自动化测试
  15. abandon_mysql_【linux】使用Druid报错abandon connection, open stackTrace
  16. 女生突然不回微信,那你首先得明白不回微信的原因
  17. 一个故事,一段代码告诉你如何使用不同语言(GolangC#)提供相同的能力基于Consul做服务注册与发现
  18. Python基础必掌握的5种数据类型和8种内置函数基本操作
  19. uedit上传视频时提示输入的视频地址有误,请检查后再试
  20. InterSystems IRIS数据平台:数据接收速度测试

热门文章

  1. AcWing 895. 最长上升子序列(LIS朴素做法)
  2. Linux的/var/www/html目录
  3. [USACO13NOV]Farmer John has no Large Brown Cow【状压 / 模拟】
  4. caffe︱Pascal VOC 2012 Multilabel Classification Model
  5. [Flink]Flink DataStream window join 和interval join
  6. 好程序员分享Web前端知识之HTML
  7. 数学倒底有没有绝对的严格性和形式化?
  8. 大话IT第14期:iOS、Android、Mango 你的选择?
  9. Nmap 可能引起cisco路由器Crash
  10. 浏览器如何解析HTML文档