安装Maven并搭建Maven私有仓库
一、说明
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十分经典的组合,通过它们能够十分方便的进行项目组织和运行调试。
二、Maven安装
1、访问Maven的官方网站http://www-eu.apache.org/dist/maven/maven-3/下载一个最新稳定版(当然也可以按照个性需求选择),解压之后,放到你想放的位置,然后配置电脑的系统变量、用户变量等。在CMD中执行命令mvn -v如果能出现Maven的版本信息表示你已经安装成功。具体请查看参考文档1。
2、Eclipse集成Maven插件。进入Eclipse的Window --> Preferences --> Maven --> User Setting位置,将Settings位置改为第1步maven文件夹所在位置的conf\settings.cml。如下图所示
三、Maven项目组织建议
1、Java开发习惯于采用MVC框架,为了我们的项目能够结构清晰,我们可以在代码层级组织上就体现这样的结构。只需要将用于体现这个的pom.xml中<packaging>设置为pom,并添加<modules> <module>xxx</module></modules>节点。如下图
2、项目下层的代码使用<parent>节点来建立对上层的依赖,以此类推建立整个项目的层级结构。这样建立之后,方便一起引入,一起编译。并且这样组织之后,就可以在最外层的pom.xml文件中<dependencyManagement><dependencies><dependency>依赖管理中配置引用包的版本管理(可以在最外层指定依赖包的版本信息,里面的模块之间指明那个依赖包就行了,这样可以很方便并且不会遗漏的升级依赖包)。例子可以参考1图中service文件下的pom.xml配置。
3、使用Maven管理项目还可以通过profiles很方便的针对不同环境进行不能的配置。
四、创建Maven私有仓库
为什么要创建Maven私有仓库?因为有些依赖包(例如第三方jar包)是Maven官方公共库(http://mvnrepository.com/search?q=ehcache)没有的,但是项目开发又需要公用的,这种时候就可以把这类依赖包放到Maven私有仓库里。 访问Nexus官网http://www.sonatype.org/nexus/go/下载(下载的时候可能提示地址不存在,翻一下墙就可以了)适合的版本(我们这里下载的nexus-2.12.1-01-bundle.tar.gz)。解压安装包,并切换到安装包文件夹下bin目录,执行启动命令./nexus start(关闭命令是./nexus stop)。在浏览器中输入http://ip:8081/nexus/index.html就能进入。具体请查看参考文档2。Maven私有仓库(Nexus)的使用请查看参考文档5。
补充1:在执行Nexus启动命令./nexus start的时候,可能会报“If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script”异常。在命令行执行export RUN_AS_USER=root就行了。具体请查看参考文档3。
补充2:经过前面的设置应该Nexus已经成功启动了,但是可能浏览器访问的时候还是报“无法访问此网站 [IP]的响应时间过长”。这个时候可能就要检查是否防火墙给你拦截了。如果是开放防火墙的8081端口(Nexus使用的默认端口是8081端口)就行了。具体请查看参考文档4。
参考文档:
1、http://blog.csdn.net/guanning0109/article/details/26069277 eclipse maven插件的安装和配置
2、http://blog.csdn.net/a973893384/article/details/46724227 linux下nexus搭建maven私有库
3、http://blog.csdn.net/cuker919/article/details/12052565 nexus私服linux搭建问题
4、http://blog.163.com/dk_linux/blog/static/203226166201261323349658/ 开放linux防火墙指定接口
5、http://blog.csdn.net/shenshen123jun/article/details/9084293 maven--私服的搭建(Nexus的使用)
安装Maven并搭建Maven私有仓库的更多相关文章
- 搭建docker私有仓库
保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...
- 使用verdaccio 搭建npm私有仓库
使用verdaccio 搭建npm私有仓库 1. 为什么要搭建私有的npm仓库? 随着公司的业务越来越复杂,项目迭代速度也越来越快,那么项目间的常用的业务代码共享变得非常之有必要.但是对于公司的 ...
- docker使用registry搭建本地私有仓库
参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/ 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时 ...
- Centos7搭建Harbor私有仓库(二)
1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...
- Kubernetes-5:搭建企业级私有仓库Harbor
搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...
- 一步步搭建docker私有仓库并从私有仓库中下载镜像
一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...
- ssm+maven+pageHelper搭建maven项目实现快速分页
ssm+maven+pageHelper搭建maven项目实现快速分页 PageHelper分页使用: 插件的环境引入: 1.pom文件中引入分页插件的资源位置: <dependency> ...
- Docker自学纪实(六)搭建docker私有仓库
docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...
- windows 环境下搭建docker私有仓库
windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...
- Docker容器之搭建本地私有仓库
Docker容器之搭建本地私有仓库 本地私有仓库搭建的具体步骤 首先下载 registry 镜像 docker pull registry 在 daemon.json 文件中添加私有镜像仓库的地址并重 ...
随机推荐
- hdu 1213(并查集模版题)
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- RMAN 备份与恢复 实例
1. 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中) 若为非归档,则修改数据库归 ...
- C# 设置百分比保留2位数
double a=50; double b=100; 没有小数部分Label1.Text = (a / (a+b)).ToString("0%") 两位小数Label2 ...
- BZOJ 4010 拓扑排序+heap
思路: 反向图求最大拓扑序 反向输出 //By SiriusRen #include <queue> #include <cstdio> #include <cstrin ...
- C#利用ICSharpCode将远程文件打包并下载
应用于ASP.NET MVC中 方法主体代码: public void GetFilesByOrder(string Order_ID, string IntNumber) { MemoryStrea ...
- 【Linux】修改Linux操作系统字符集与Oracle数据库一致
#数据库中查看所使用字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') -------------------- ...
- OpenCV中IplImage/CvMat/Mat转化关系
原文链接:http://www.cnblogs.com/summerRQ/articles/2406109.html 如对内容和版权有何疑问,请拜访原作者或者通知本人. opencv中常见的与图像操作 ...
- trait 和abstract的区别在哪里
无法在一个class上extend多个abstract class,但是你可以use多个trait abstract class是在类型系统上做文章,trait片段是mixin 类型约束 代码复用 c ...
- this、super关键字以及他们各自的作用
this:代表当前对象的引用,谁来调用我,我就代表谁 super:代表当前对象父类的引用 this和super的使用区别 A:调用成员变量 this.成员变量 调用本类的成员变量,也可以调用父类的成 ...
- 解决postman https请求无返回数据的问题
1.点击右上角的扳手图标 2.点击settings 3.点击general 4.把 ssl certificate verification这项点击关闭