安装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 文件中添加私有镜像仓库的地址并重 ...
随机推荐
- 91. ExtJS获取父子、兄弟容器元素方法
转自:https://blog.csdn.net/u014745818/article/details/44957341 1 1.当前对象的父对象(上级对象) this.ownerCt: 2.当前对象 ...
- CMMI的SG/GG概念区别与SP/GP概念的区别
每一个 “流程区域” 会细分为多个子目标.若该子目标只对应单一的流程区域,称为 “特定目标(Specific goal)”:若子目标会涵跨多个流程区域,则称为 “一般目标(Generic goal)” ...
- git add -A (用该命令添加文件时报错)
前言 最近在学着不使用github客户端,而直接用git命令上传代码至github,当使用命令 git add -A 添加所有项目文件时报错 老实说我是蒙蔽的,因为从来没有遇到过这个错,确认输入 ...
- Django:提交表单报错:RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you have A
Django:提交表单报错:RuntimeError: You called this URL via POST, but the URL doesn’t end in a slash and you ...
- 如何实现MySQL数据库使用情况的审计
如何实现MySQL数据库使用情况的审计 最佳答案 mysql的审计功能 mysql服务器自身没有提供审计功能,但是我们可以使用init-connect + binlog的方法进行mysql的操 ...
- 【sqli-labs】 less28 GET- Error based -All you Union&Select Belong to us -String -Single quote with parenthesis(GET型基于错误的去除了Union和Select的单引号带括号字符串型注入)
这个不是基于错误的吧,看源码可以知道错误并没有输出 那就使用;%00和order by试一下 http://192.168.136.128/sqli-labs-master/Less-28/?id=1 ...
- vue.js的ajax和jsonp请求
首先要声明使用ajax 在 router下边的 Index.js中 import VueResource from 'vue-resource'; Vue.use(VueResource); ajax ...
- EL截取url中参数
function getUrlString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*) ...
- appium+python,app自动化测试框架
目前正在写一个app的自动化UI测试框架,目录结构如, 脚本还在调试,实现的方法是从excel表格读取测试用例,执行完成后会将结果保存到Excel中. 等待.......
- Hzoi 2018.2.11多边形 区间DP
给定一个由N个顶点构成的多边形,每个顶点被赋予一个整数值,而每条边则被赋予一个符号:+(加法运算)或者*(乘法运算),所有边依次用整数1到N标识. 一个多边形的图形表示 首次移动,允许将某条边删除: ...