一、说明

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私有仓库的更多相关文章

  1. 搭建docker私有仓库

    保存镜像的地方成为仓库(registry).目前有2种仓库:公共仓库和私有仓库. 最方便的是使用公共仓库上传和下载镜像,下载不需要注册,上传需要到公共仓库注册.公共仓库网站:https://hub.d ...

  2. 使用verdaccio 搭建npm私有仓库

    使用verdaccio 搭建npm私有仓库 1. 为什么要搭建私有的npm仓库?    随着公司的业务越来越复杂,项目迭代速度也越来越快,那么项目间的常用的业务代码共享变得非常之有必要.但是对于公司的 ...

  3. docker使用registry搭建本地私有仓库

    参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/ 和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时 ...

  4. Centos7搭建Harbor私有仓库(二)

    1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...

  5. Kubernetes-5:搭建企业级私有仓库Harbor

    搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...

  6. 一步步搭建docker私有仓库并从私有仓库中下载镜像

    一步步搭建docker私有仓库 #下载镜像 docker pull registry#查看镜像 docker images #运行私有仓库,指定端口和数据卷 docker run -d -p : -v ...

  7. ssm+maven+pageHelper搭建maven项目实现快速分页

    ssm+maven+pageHelper搭建maven项目实现快速分页 PageHelper分页使用: 插件的环境引入: 1.pom文件中引入分页插件的资源位置: <dependency> ...

  8. Docker自学纪实(六)搭建docker私有仓库

    docker的镜像仓库分两种:一种是从官方公有仓库拉取:还有就是自己搭建私有仓库.官方的镜像仓库是面对整个应用市场的:私有仓库一般用于公司内部,就是公司项目自身所需的镜像.搭建私有仓库有什么好处?私有 ...

  9. windows 环境下搭建docker私有仓库

    windows 环境下搭建docker私有仓库 1.在公用仓库中pull仓库镜像 docker pull regitry 2.启动仓库镜像 //-d意思是后台运行,-p是做端口映射,这里是将本地的50 ...

  10. Docker容器之搭建本地私有仓库

    Docker容器之搭建本地私有仓库 本地私有仓库搭建的具体步骤 首先下载 registry 镜像 docker pull registry 在 daemon.json 文件中添加私有镜像仓库的地址并重 ...

随机推荐

  1. 【BZOJ 1601】 灌水

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1601 [算法] 最小生成树 [代码] #include<bits/stdc++ ...

  2. 从map到hash

    https://zybuluo.com/ysner/note/1175387 前言 这两种技巧常用于记录和去重量少而分散的状态. 都体现了映射思想. \(map\) 我一般是数组开不下时拿这玩意判重. ...

  3. STL 集合部分操作

    3.28更新 在EOJ 1641 集合栈计算机中,使用并集和补集时候,第五个参数使用x.begin()会报错:assignment of read-only location,而使用inserter( ...

  4. PCB 无需解压,直接读取Genesis TGZ指定文件 实现方法

    通过无需解压读取ZIP压缩包的方法,寻思者如何可以不解压直接读Genesis TGZ文件内容, 通过查找资料,原来可以通过:SharpCompress.dll工具实现此需求,此工具如此NB 一.Sha ...

  5. scws

    SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统). 这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成 ...

  6. 【STM32H7教程】第23章 STM32H7的MPU内存保护单元(重要)

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第23章       STM32H7的MPU内存保护单元 ...

  7. NYOJ999 师傅又被妖怪抓走了

    只记得当下的眼疼 , ok 各种数据也试了 , 就是 他娘的不对 , 我也是醉了 . 也是日了最野的狗 附上日了哮天犬的代码 , 这个题 先放放, 一段时间后再试试 , 明天开始状态压缩吧 .为期两天 ...

  8. django模型层(二)

    多表操作 创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对 ...

  9. centos 修改网卡信息命令

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

  10. 三星的Knox Warranty Bit原理

    它是如何触发的? 这个值的状态是烧录在主板上,无法刷写修改, 从0到1 不可逆,除非替换硬件 If a non-Knox boot loader or kernel has been installe ...