一、说明

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. hdu 1213(并查集模版题)

    How Many Tables Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  2. RMAN 备份与恢复 实例

    1. 检查数据库模式:    sqlplus /nolog     conn /as sysdba    archive log list (查看数据库是否处于归档模式中) 若为非归档,则修改数据库归 ...

  3. C# 设置百分比保留2位数

    double a=50; double b=100; 没有小数部分Label1.Text = (a   /   (a+b)).ToString("0%")   两位小数Label2 ...

  4. BZOJ 4010 拓扑排序+heap

    思路: 反向图求最大拓扑序 反向输出 //By SiriusRen #include <queue> #include <cstdio> #include <cstrin ...

  5. C#利用ICSharpCode将远程文件打包并下载

    应用于ASP.NET MVC中 方法主体代码: public void GetFilesByOrder(string Order_ID, string IntNumber) { MemoryStrea ...

  6. 【Linux】修改Linux操作系统字符集与Oracle数据库一致

    #数据库中查看所使用字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') -------------------- ...

  7. OpenCV中IplImage/CvMat/Mat转化关系

    原文链接:http://www.cnblogs.com/summerRQ/articles/2406109.html 如对内容和版权有何疑问,请拜访原作者或者通知本人. opencv中常见的与图像操作 ...

  8. trait 和abstract的区别在哪里

    无法在一个class上extend多个abstract class,但是你可以use多个trait abstract class是在类型系统上做文章,trait片段是mixin 类型约束 代码复用 c ...

  9. this、super关键字以及他们各自的作用

    this:代表当前对象的引用,谁来调用我,我就代表谁 super:代表当前对象父类的引用 this和super的使用区别 A:调用成员变量 this.成员变量  调用本类的成员变量,也可以调用父类的成 ...

  10. 解决postman https请求无返回数据的问题

    1.点击右上角的扳手图标 2.点击settings 3.点击general 4.把 ssl certificate verification这项点击关闭