Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的 REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
Maven2的目标使项目构建构成更容易提供统一构建系统提供高质量的项目信息提供开发的最佳实践指南能无缝的加入新的特性了解Maven2主要功能构建项目(Builds)项目报告(Reporting)依赖管理(Dependencies)一致的项目build流程和结构了解Maven2 Maven2如何工作?内部仓库外部仓库2机1项目A项目BInstall构件A或B机2项目3机1本地仓库下载构件外部仓库1机2本地仓库依赖依赖Deploy构件A或B获取构件A和B下载构件A和B获取构件A了解。
中央仓库约定优于配置生命周期1、CleanLifecycle在进行真正的构建之前进行一些清理工作。2、DefaultLifecycle构建的核心部分,编译,测试,打包,部署等等。3、SiteLifecycle生成项目报告,站点,发布站点。Nexus1、解压nexus下载的安装包nexus-2.0.5-bundle.zip2、选择对应环境的启动文件予以启动进行配置。
ant的作用介绍Ant主要是设计用于生成Java项目的,但这并不是它唯一的用途。许多人发现它对其他任务也很有帮助。比如以跨平台的方式执行文件系统操作。此外,还有许多可用的第三方Ant任务,而编写自定义的Ant任务也是相对简单的,因此很容易针对特定的应用程序定制Ant。ApacheAnt是一个基于Java的生成工具。据最初的创始人James Duncan Davidson介绍,这个工具的名称是another neat tool(另一个整洁的工具)的首字母缩写。它具有跨平台性。
先说maven2吧,看了好几天,觉得它涉及的东西挺多的,不知道从哪里入手,看了不少资料,对它有了大概的了解。 Maven2就是一个项目管理的工具,它使项目的构建更加容易,提供统一的管理,可以对项目进行预处理、编译、测试、持续整合、打包和发布。除了提供构建的功能,Maven2还可以生成报告,生成web站点,促进团队间的合作与交流。
可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令。当编译Linux内核及一些软件的源程序时,经常要用这个命令。Make命令其实就是一个项目管理工具,而Ant所实现功能与此类似。像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷。最初Ant开发者在开发跨平台的应用时,用样也是基于这些缺陷对Ant做了更好的设计。Ant 与 makefile Makefile有一些不足之处,比如很多人都会碰到的烦人的Tab问题。
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 如果你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工作的方法。Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页.
质量管理平台sonar搭建。Sonar是一个开源平台,用于管理Java源代码的质量。从 Sonar 1.6 版本开始,Sonar从一个质量数据报告工具,转变成为现在的代码质量管理平台。主要特点: 代码覆盖:通过单元测试,将会显示哪行代码被选中 改善编码规则 搜寻编码规则:按照名字,插件,激活级别和类别进行查询 项目搜寻:按照项目的名字进行查询 对比数据:比较同一张表中的任何测量的趋势
Windows平台下使用Nexus搭建Maven本地仓库服务器(Maven私服)
ant自动进行远程部署,以及压缩,jar包等等
本文比较完整的讲述GNU make工具,涵盖GNU make的用法、语法。同时重点讨论如何为一个工程编写Makefile。作为一个Linux程序员,make工具的使用以及编写Makefile是必需的。系统、详细讲述make的中文资料比较少,出于对广大中文Linuxer的支持,本人在工作之余,花了18个多月时间完成对“info make”的翻译整理,完成这个中文版手册。本书不是一个纯粹的语言翻译版本,其中对GNU make的一些语法和用法根据我个人的工作经验进行了一些详细分析和说明,也加入了一些个人的观点和实践总结。本书的所有的例子都可以在支持V3.8版本的GNU make的系统中正确执行。 <br> 阅读本书之前,读者应该对GNU的工具链和Linux的一些常用编程工具有一定的了解。诸如:gcc、as、ar、ld、yacc等;同时在书写Makefile时,需要能够进行一些基本的shell编程。这些工具是维护一个工程的基础。如果大家对这些工具的用法不是很熟悉,可参考项目资料。
持续集成(continuous integration)作为敏捷编程的基石现在已经被绝大多数的开发团队所广泛采用。而持续集成的工具现如今也是百花齐放,各有千秋,本文主要对比了在Java领域中比较常见的几种CI server(因为公司要求统一整个公司的CI server)。如果想了解更多的工具
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
最近由于工作原因在研究、应用Maven,有了一些体会就 写成了此文。本文虽然是Maven2的入门文章,但并不涉及Maven的历史、下载与安装,这些内容可以到Maven的官方网站上了解。本文主要是关注 Maven中的重要概念,并以一个实例来阐述使用Maven的基本方法。
Maven1.0已经历了几年的时间,并且作为Ant的替代品已被广大的开发人员所接收,但它并没有在很大程度使开发人员从Ant的 build.xml文件中解脱出来。Maven1.0速度慢并且笨拙,使用起来的困难度并不亚于使用Ant的项目。事实上,它的核心是基于Ant实现的。 在经过了几乎彻底的重写后,Maven2.0诞生了。
持续集成测试白皮书持续集成整体介绍。Hudson是一个可扩展的持续集成引擎。主要用于:持续、自动地构建/测试软件项目.监控一些定时执行的任务。Hudson拥有的特性包括:1)易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。2)易于配置-所有配置都是通过其提供的web界面实现。3)集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。4)生成JUnit/TestNG测试报告。5)分布式构建支持-Hudson能够让多台计算机一起构建/测试。6)文件识别-Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
内容提要123持续集成的概念和作用持续集成的工具和方法Demo存在的问题开发提交代码可能造成其他人不能编译或者隐含的Bug,而开发本人意识不到开发环境正常,但是部署时出现问题,时过境迁难以重现….很多系统集成的问题只有在实施甚至用户使用的时候才能发现。项目已经完成代码的数量和质量缺少及时的评价和反馈,只能依赖开发工作基本完成后的测试和开发人员的个人汇报不同学校的硬件环境、软件环境、部署模块、基础数据、数字化校园版本等有差异,测试人员难以兼顾。(10年项目白小业务主要在德才环境下测试)补丁与版本之间关系与实际部署只能个人控制,工作量比较大持续集成的概念自动化的、持续的将开发代码进行构建,并进行自动化的部署、测试、分析,及时反馈持续集成的工具和作用SVN:版本控制Junit:单元测试Selenium:Web自动测试工具Maven:包管理、部署组织工具nuxus:Maven私服Hudson:集成服务器Sonar:项目分析服务器持续集成的做法---测试Junit自动测试:编写一些测试的基类和工具类,构建测试环境分层测试,Mock解耦使用H2等内存数据库、Jetty等内存服务器等加速测试Junit的测试目的不是为了寻找bug,而是为了搭建系统的安全网,保证项目的修改、重构、功能开发不会对已有的代码造成未预料的影响。
Hudson是一个可扩展的持续集成引擎。主要用于:1.持续、自动地构建/测试软件项目。2.监控一些定时执行的任务。Hudson拥有的特性包括:易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。易于配置-所有配置都是通过其提供的web界面实现。集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。生成JUnit/TestNG测试报告。分布式构建支持-Hudson能够让多台计算机一起构建/测试。文件识别-Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
用Maven构建JavaWeb开发环境(Jetty容器)之一Maven是构建Java应用的优秀管理工具,是Apache软件基金会的顶级项目。其具有开发目录构建和管理,统一管理第三方依赖,编译,测试,打包,发布等功能。最大的特点要数第三方依赖管理了,因为其它功能都能从Ant中找到踪影。以往每个项目独立管理依赖,使得每个项目打包后都是巨大无比的,而真正的程序文件却没有多少,Maven接管第三方依赖后,我们的应用就只有程序文件了,没有了jar包轻巧很多,而统一的管理,使得我们可以随意获取jar资源。初学者使用Maven总是感觉很难上手,其中也有一部分人是被Maven下载资源那疯狂的做法吓退的,这就是Maven的精巧之处。
Maven以及其Eclipse插件m2eclipse的安装检查JDK的安装以及环境变量的配置打开