java战斗系列-战斗MAVENPW结构
实战中MAVEN私服的搭建
利用maven来管理项目的构建,报告和文档已经成为了我们如今的共识,不论什么开源软件基本都在使用,当然我们如今的大部分公司也基本都在使用,我把曾经使用maven的一些经验在进行加工呈现给大家,希望能够帮助一些当前正在学习maven的刚開始学习的人们还有刚毕业的学子们!
我会结合Eclipse+nexus+maven的实践来个大家做介绍!
Nexus是Maven仓库管理器,尽管我们能够从Maven中央仓库下载所须要的构件(artifact),但这样会让我们的编译过程变得相当的慢,架设一个本地Maven仓库server,在代理远程仓库的同一时候维护本地jar包仓库,能够节省带宽和时间,Nexus
oss版就是一款相当不错的软件。全然能实现我们的需求。
一:下载和安装Nexus
Nexus提供了两种安装方式
第一种是内嵌Jetty的bundle,仅仅要你有JRE就能直接执行。
另外一种方式是WAR,你仅仅须简单的将其公布到web容器中就可以使用
笔者本次使用另外一种方式war包方式部署。
安装环境:
Jdk6
Tomcat6
Centos6.3的硬件环境
注:linux下环境的配置就不在说明了。
1)Linux系统下可採用wget方式下载
wgethttp://www.sonatype.org/downloads/nexus-2.8.0.war
建议直接把包下载到tomcat的webapp文件夹下。
2)windows页面下载方式
windows下安装我们进入下载页面:
选择红色框框住的button,OSS版是开源的免费的,进入下载页面。例如以下图:
启动tomcat,在浏览器中输入:
假设启动成功就会显示该页面。点击右上角Login。
username admin
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5keV9neA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
Remote Indexes设置为true。
至此Nexus的Maven仓库管理器已经搭建好了!
二:下载和部署MAVEN
Maven是基于项目对象模型(POM)。能够通过一小段描写叙述信息来管理项目的构建,报告和文档的软件项目管理工具。
我们要在自己的开发机上安装MAVEN。并配置环境变量,设置连接私服的配置文件。
下载地址:http://maven.apache.org/download.cgi
最新版apache-maven-3.2.1-bin.zip
解压缩到随意一个盘下。
环境变量设置
变量值:
D:\work\work-tools\maven\apache-maven-3.2.1-bin\apache-maven-3.2.1
2)改动配置文件,以便连接到我们刚搭建好的私服
打开文件夹下的settings.xml文件。
(该文件夹是你自己解压缩后的文件夹,我的是解到了D盘下)
D:\work\work-tools\maven\apache-maven-3.2.1-bin\apache-maven-3.2.1\conf
注:maven会自己检查文件夹是否存在,不存在会自己主动建立。
<profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <repositories> <repository> <id>internal-nexus-repo</id> <name>your localartifactory</name> <url>http://192.168.1.106:8080/nexus-2.8.0/content/groups/public/</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> <repository> <id>maven-internet</id> <name>Public Repositories</name> <url>http://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus-plugin-repo</id> <name>your localartifactory</name> <url>http://192.168.1.106:8080/nexus-2.8.0/content/groups/public/</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>maven-internet</id> <name>Maven Central</name> <url>http://repo1.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> |
这里除了配置了自己的私服地址外,还配置了网络服务,这样做是一种补充。当然大家也能够仅仅连接网络服务或是仅仅配置自己的私服地址(必需开启远程索引下载。配制nexus时我们已经开启了Download Remote Indexes)。
保存文件后我们的maven就已经配置好了!
三:设置M2_REPO变量
安装配置好私服和MAVEN。我们仅仅是能够在dos下利用mvn的命令行建立maven的项目和编译项目,可是我们一般开发都会使用IDE工具,以下我们就以Eclipse为例,说明怎样配置使用IDE。
注:maven的经常使用命令请自行学习。这里我就不说明了。
1:没有在Eclipse里安装MAVEN插件情况
配置M2_REPO变量
点击eclipse的菜单window下preferences属性,例如以下图。
点击工具栏选择红色框圈住的部分,选择External Tools Configurations
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5keV9neA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
Program点击右键new,改动相关属性,eclipse:eclipse命令就建立好了。
2:Eclipse里已安装了MAVEN插件的情况
假设安装了插件,那么就配置一下插件即可。(maven插件的安装大家能够查考下面网络)
点击add加入我们刚部署的maven3.2.1,点击apply。
浏览选择setting.xml文件,点击 update settings更新配置文件,点击apply。
3)设置好后查看一下M2_REPO变量是否被自己主动加入。
假设没有问题就能够配置maven的命令了,例如以下图
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5keV9neA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">
这次选择红框框住的菜单下的Run Configurations
本图是maven的package命令,我们依据自己的须要能够选择profiles的配置,这里我选择了skip tests这里的意思是打包时不进行test代码验证。
至此利用maven来进行项目构建与管理的总体流程就说完了,这里面还有很多地方没有进行细说,
比如:
Eclipse里假设没有插件MAVEN的插件我们该怎样建立maven的项目?
Eclipse里有MAVEN的插件我们该怎样建立maven的项目?
怎样安装那些没有在公共网络上有的jar包?
等等一系列的问题,我想要学习一个东西大家必须有自我的积极主动性,留下一些问题让大家自己先学习思考一下,下一篇我会具体说明一下我刚才提到的几个问题。
因为写作水平有限。假设有哪些地方还没有说清楚欢迎大家留言交流!
版权声明:本文博客原创文章,博客,未经同意,不得转载。
java战斗系列-战斗MAVENPW结构的更多相关文章
- Java入门系列-09-循环结构
这篇文章为你搞懂5个问题 while 循环如何使用 do-while 循环的使用 for 循环的使用 break.continue 的使用 循环结构的嵌套使用 生活中有很多事情需要我们重复的去做,比如 ...
- Java入门系列-08-选择结构
这篇文章为你搞懂2个问题 if-else选择结构的使用? switch 的使用? 前面我们学习的代码都是直上直下的执行,还不会"拐弯",这篇文章带大家来看一下会"拐弯&q ...
- 夯实Java基础系列5:Java文件和Java包结构
目录 Java中的包概念 包的作用 package 的目录结构 设置 CLASSPATH 系统变量 常用jar包 java软件包的类型 dt.jar rt.jar *.java文件的奥秘 *.Java ...
- Java多线程系列--“JUC集合”04之 ConcurrentHashMap
概要 本章是JUC系列的ConcurrentHashMap篇.内容包括:ConcurrentHashMap介绍ConcurrentHashMap原理和数据结构ConcurrentHashMap函数列表 ...
- Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 12 TreeMap
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java集合系列[4]----LinkedHashMap源码分析
这篇文章我们开始分析LinkedHashMap的源码,LinkedHashMap继承了HashMap,也就是说LinkedHashMap是在HashMap的基础上扩展而来的,因此在看LinkedHas ...
- Java并发系列[1]----AbstractQueuedSynchronizer源码分析之概要分析
学习Java并发编程不得不去了解一下java.util.concurrent这个包,这个包下面有许多我们经常用到的并发工具类,例如:ReentrantLock, CountDownLatch, Cyc ...
- Java并发系列[5]----ReentrantLock源码分析
在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile.我们知道synchronized关键字实现了内置锁,而volatile关键字保证了多线程的内存可 ...
随机推荐
- spring开发基础
Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途 ...
- poj1639 Picnic Planning 最小度数限制生成树
题意:若干个人开车要去park聚会,可是park能停的车是有限的,为k.所以这些人要通过先开车到其它人家中,停车,然后拼车去聚会.另外,车的容量是无限的,他们家停车位也是无限的. 求开车总行程最短. ...
- 在Ubuntu上录制视频和编辑(很全)
Linux多媒体三剑客:GIMP,Inkscape,Blender3D Blender基金会制作的开源微电影Sintel:http://www.sintel.org/about电影采用Creative ...
- 用Python对体积较大的CSV文件进行比较的经验
用Python对体积较大的CSV文件进行比较的经验 » 进化的测试 | 进化的测试 用Python对体积较大的CSV文件进行比较的经验 python Add comments 八 032010 ...
- [Cocos2d-x]CCSpriteBatchNode的使用
文档: http://cocos2d.cocoachina.com/document/index/class?url=dd/d95/classcocos2d_1_1_c_c_sprite_batch_ ...
- web开发性能优化---用户体验篇
怎样从技术角度怎样增强用户体验.都是非常多平台都在做的事情,依据个人实际经验碰到几种体验做下总结. 1.降低页面刷新白屏 适当使用ajax技术.改善刷新白屏现象. 2.信息提醒,邮件.站内信.短信在购 ...
- 在Windows如何解决下Cocos2d-x示例代码TestCpp我找不到lib问题库文件
遇到此问题,首先确定失踪的库文件,然后找到文件夹,库文件. 在编制Cocos2d-x在TestCpp工程,提示缺少lib文件,共同拥有下面2种可靠解决方式: 1.在Cocos2d-x的根文件夹Debu ...
- java常见的输入和输出流案例研究(一个)
字节输入和输出流 1.FileInputStream[文件字节输入流]->读取文件内容 用途:从文件系统中的文件获得输入字节.经常使用于读取图像.声音等原始字节流,读取字符流可考虑使用FileR ...
- hdu3605(最大流+状态压缩)
传送门:Escape 题意:给出每个人适合住的星球信息和该星球能住多少人 ,第一行给出n m 代表有 n 个人 m 个星球,然后接下来n行每行m个数字 1代表适合第 i 个星球 0 代表不适合第 i ...
- linux yum命令
1 安装yum install 全部安装yum install package1 安装指定的安装包package1yum groupinsall group1 安装程序组group1 2 更新和升级y ...