自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

我的书《Maven实战》

我本来已经决定停止更新该博客了,但是为了推广下我的新书《Maven实战》,在此破例一下。该书包含了我不少的经验总结和心血劳动,希望能让更多的人了解。  简介你是否早已厌倦了日复一日的手工构建工作?你是否对各个项目风格迥异的构建系统感到恐惧?Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自...

2010-11-12 13:09:29 782 3

再见JavaEye

经过一些时间的准备,我启用了个人域名 juvenxu.com ,我将继续写Maven相关的博客,除此之外,主题还将拓宽到敏捷开发,Java,自我管理等领域。此外,自己的域名和空间也方便我提供更多的内容,例如我计划为《Maven实战》创建单独的页面维护勘误表等等。 JavaEye是一个非常优秀的平台,在这里我写了超过50篇的博客,得到了近10万次的访问,得到了大量的反馈。我真心感谢以...

2010-04-25 22:17:09 231

开源书籍 Continuous Integration with Hudson

基于开源软件的技术书籍开源似乎正在成为一种趋势,大家熟知的有Subversion与版本控制与Maven权威指南,最近我又了解到一本关于Hudson的书正在以开源的方式编写,这就是Continuous Integration with Hudson,译成中文就是《使用Hudson进行持续集成》。 开源书籍对于大家最大的意义可能就是免费,免费浏览,免费阅读。还有一点非常重要的是...

2010-03-22 11:29:38 250

m2eclipse 0.10.0发布

本文译自 http://www.sonatype.com/people/2010/02/now-available-m2eclipse-0-10-0/ 这是一年多来m2eclipse的第一个生产适用版本,这已经是最快的速度了。在该版本中,你会看到我们分离了更新站点。现在有一个核心更新站点,和另外一个包含可选组件的额外更新站点。要了解详细的安装信息,请阅读m2eclipse站点上...

2010-02-22 17:34:34 174

原创 按需构建多模块,玩转Maven反应堆

在多模块Maven项目中,反应堆(Reactor)是一个包含了所有需要构建模块的抽象概念,对于Maven用户来说,主要关心的是两点: 哪些模块会被包含到反应堆中?反应堆中所有模块的构建顺序是什么? 例如有这样的一个多模块项目:  plexus-security包含了8个子模块,其中security-realms还包括了更进一层的两个子模块。运行mvn c...

2010-01-07 19:57:53 553

Maven仓库的布局

注:本文节选自我正在编写的《Maven实战》任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven的仓库布局方式。例如log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/1.2.15/log4j-1.2.15.jar,细心的读者可以观察到,该路径与坐标的大致对应关系为groupId/artifactId/vers...

2009-12-14 08:54:11 153

Maven3初窥

Maven3的开发已经完成大半,本周末将发布alpha-3(Twitter @jvanzyl),而Nexus已经开始使用Maven3进行构建,于是我也开始使用Maven3。 从http://svn.apache.org/repos/asf/maven/maven-3/trunk签出最新的maven3代码,然后使用maven2进行build,build完毕之后,便能得到Maven安装文件...

2009-11-10 16:28:34 120

Nexus 1.4.0 发布

新完成的用户故事:[NEXUS-463] - 从搜索结果下载构件[NEXUS-840] - SMTP服务器配置测试界面[NEXUS-982] - 添加一个“新部署的发布版构件”RSS源[NEXUS-1504] - 仓库信息面板[NEXUS-1510] - 集成自动问题报告[NEXUS-1551] - ...

2009-10-29 17:22:19 108

archtype:generate出错?

我们常常会使用mvn archetype:generate来创建一个项目的骨架,这本身是Maven一个非常有趣的功能,你甚至可以定义自己的项目骨架,但是,我听到不止一次有用户说,这个命令没法用,不妨试试: GMT +8:00,2009年10月12日零点整,我运行mvn archetype:generate,得到的是一堆出错信息:  [INFO] ----------------...

2009-10-12 00:10:12 245

你最常用的构建和发布管理工具是什么?

最近Eclipse社区进行了一项调查,关注社区如何使用Eclipse和其它开源软件,目前调查的结果已经发布,详细的结果涵盖了IDE,操作系统,版本控制工具等等,具体可以查看这个链接: http://www.eclipse.org/org/press-release/20090527_survey09.php 作为Maven的忠实用户,我自然比较关注构建工具这一块,这是我看到的报...

2009-09-13 15:03:59 206

策划编写《Maven实战》——初步目录

2010-08-27更新关注本书请访问我为此专门创建的页面:http://www.juvenxu.com/mvn-in-action/  由于《Maven权威指南》由于一些原因暂时无法在国内出版,我决心使用业余时间编写一本《Maven实战》,以方便在国内更好的推广Maven技术。为了使本书能更好的满足国内Maven用户的需要,我希望能在编写过程中得到大家...

2009-09-09 03:42:24 123

《Maven权威指南》完整发布,带官方PDF

2010/04/29更新:我已经在个人网站提供了PDF下载 http://www.juvenxu.com/mvn-def-guide/ 最近抽了两天时间,把该书的序啊,前言啊,附录啊,零零碎碎的部分都翻译完毕了,也算是一次完整的发布,我称之为Beta 0.2。中文版不可能与英文版完全同步,于是中文版有自己的版本号,和英文版的Beta 0.2不尽一致。 目前最新的英文版本...

2009-07-06 00:45:31 900

Nexus Indexer 2.0:增量下载

原文:http://www.sonatype.com/people/2009/05/nexus-indexer-20-incremental-downloading/ Nexus Indexer已经变得十分流行,它已经成为了索引Maven仓库的事实标准(包括大个子,中央仓库)。随着仓库变得越来越大,索引的大小也随之增长。从最初几百kb的文件,渐渐得增长至20-30mb的文件。大...

2009-05-14 16:33:02 198

Maven最佳实践:版本管理

什么是版本管理首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用法。版本管理中说得版本是指构件(artifact)的版本,而非源码的版本(如subversion中常见的rXXX,或者git中一次提交都有个sha1的commit号)。比如我有一个项目,其art...

2009-04-29 00:04:33 1770

Maven最佳实践:Maven仓库

什么是Maven仓库在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文件,如log4j.jar,junit.jar等等。每建立一个项目,你都需要建立这样的一个/lib目录,然后复制一对jar文件,这是很明显的重复。重复永远是噩梦的起点,多个项目不共用相同的jar文件,不仅会造成磁盘资源的浪费,也使得版本的一致...

2009-04-01 17:42:13 1645

Maven中央仓库的中国镜像

(2011-01-27更新,由于私人原因,该镜像已关闭,在此致歉) 感谢Shuqun的无私,他帮助建立了一个Maven中央仓库的中国镜像。 该镜像的地址为:http://maven.net.cn/content/groups/public/。 当你访问中央仓库速度很慢的时候,或许你可以试试这个镜像。需要注意的是,无论你使用中央仓库也好,该镜像也好,任何其...

2009-03-31 22:53:09 490

Nexus入门指南(图文)

Nexus介绍Nexus是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端...

2009-03-15 23:07:28 1661

“第十七章 编写插件” 发布

又是漫长的一章内容,但如同本书的任何一章一样,由于原作者都是Maven社区的committer,其内容非常精彩,虽然之前编写过Maven插件,但在翻译的过程中,我还是受益匪浅。昨天还和一位朋友谈到,翻译一本书,相当于读这本书三遍,译前浏览一遍,译时字字句句研读,译后还有review。因此,翻译是一个很好的学习过程,无论是英语还是技术本身。(当然,如果自己对领域一窍不通,只求学习,那就还是别害人了)...

2009-03-09 17:16:02 93

Maven最佳实践:管理依赖

"If I have seen further it is by standing on the shoulders of Giants" —— Isaac Newton (1642-1727) 有人认为Maven是一个依赖管理工具,当然这种想法是错误的(确切的说Maven是一个项目管理工具,贯穿了整个项目生命周期,编译,测试,打包,发布...),但Maven给人造成这种错误的印象也是有原因的...

2009-02-23 16:50:12 149

m2e:为Eclipse引入Maven(下)

译自:http://www.sonatype.com/about/press/20090122-JDJm2eBringingMavenToEclipseMaven长Eclipse所短,反之亦然by Jason Van Zyl M2e起步不要轻易相信我的话;根据我们创建的软件来判断m2e项目。虽然为了让Maven和Eclipse项目完美结合,还有一些集成工作要做...

2009-02-04 16:19:22 158

m2e:为Eclipse引入Maven(上)

译自:http://www.sonatype.com/about/press/20090122-JDJm2eBringingMavenToEclipseMaven长Eclipse所短,反之亦然by Jason Van Zyl这里我要介绍m2e项目,它联结了Maven的能力和Eclipse的可用性。本文中,我会讲述我们对于m2e项目的计划:目前它是什么,将来...

2009-02-04 14:10:11 231

Maven持续集成最佳实践

译自:http://blogs.sonatype.com/people/2009/01/maven-continuous-integration-best-practices/ 持续集成是你在开发过程中经常会用到的一个最佳实践,它是高效软件开发生命周期(SLDC)至关重要的一部分。如果还没使用这一实践,那么应该立刻就开始使用。持续集成最大的好处是,它能帮你立刻找出引入到系统中的错误,而不是...

2009-01-20 14:51:12 115

“第十五章 站点生成” 发布

在线阅读地址:http://books.sonatype.com/maven-book/reference_zh/site-generation.html Maven最吸引人的特征之一就是它能帮你自动构建项目web站点,做一些简单的配置,然后输入几条简单的命令,一个像模像样的站点就能发布了,我现在还清晰的记得第一次用Maven成功构建站点后的那份惊喜。 大致介绍下本章内容:如何生成站...

2009-01-13 21:58:20 88

“第十三章 属性和资源过滤”发布

本章内容很少,十页左右,不过讲述的内容非常实用。我们使用Maven的时候,经常会碰到这样的问题:同样的build,在开发的时候会依赖于开发数据库,而在持续集成服务器上,就需要依赖于另外一个数据库。如果用同一个数据库,开发时的build可能会破坏持续集成的build。同理,开发者A和B也想根据自己的数据库build,不想相互干扰。Maven的属性引用和资源过滤可以十分优雅的解决这类问题。可能你没有...

2009-01-06 00:34:28 88

Maven最佳实践:划分模块

“分天下为三十六郡,郡置守,尉,监” —— 《史记·秦始皇本纪》 所有用Maven管理的真实的项目都应该是分模块的,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-module)相互关联。那么,为什么要这么做呢?我们明明在开发一个项目,划分模块后,导入Eclipse变成了N个项目,这会带来复杂度,给开发带来不便。 为了解释原因,假设有这样一个项目,很常...

2008-12-28 00:32:10 1361 1

Maven权威指南

2010/04/29更新:我已经在个人网站提供了PDF下载 http://www.juvenxu.com/mvn-def-guide/ 《Maven权威指南》介绍关于Maven----------------Maven这个单词来自于意第绪语,意味知识的积累,最早在Jakata Turbine项目中它开始被用来视图简化构建过程。当时有很多项目,它们的Ant bui...

2008-12-16 15:12:48 273

Maven最佳实践:遵循约定

“一法度衡石丈尺,车同轨,书同文字” —— 《史记·秦始皇本纪》 标准的重要性不用我过于强调,想象一下如果不是所有人都基于HTTP开发WEB应用,这个世界会乱成怎样。IE,FF等浏览器之间的差别已经让很多开发者头痛不已。JAVA成功的原因之一就是由于它能屏蔽大部分操作系统的差异,XML流行的原因之一是所有语言都接受它。Maven当然还不能和这些既成功又成熟的技术相比,但所有Maven的用户都应...

2008-12-15 13:30:37 195

使用仓库管理器——Sonatype Nexus的九大理由

(译自:Nine Reasons to Use a Repository Manager: Sonatype Nexus)  目前有很多组织使用了一些工具依赖于Maven仓库,但他们并没有采用一个仓库管理器,对于这一点我十分惊讶。可能没人提出来这一点,没人站出来告诉别人使用一个仓库管理器能带来什么好处。我经常能从很多不使用Maven仓库管理器的组织那里听到这样的字眼:“我们不需要那么...

2008-12-02 17:04:01 633

“第十一章 构建Profile”发布

书继续翻译着... 隔几天做一点,就这么着,离完成距离也不远了。 Profile这个单词不知道如何翻译,由于在Maven语境中的特殊性,字典上的解释似乎都不适用,那我就干脆保留英文原样了,毕竟在使用maven profile的时候我们不能在XML文件中写中文TAG。 介绍下这一章的内容: 构建可移植性。有些项目只能由某人在某台特定的机器上运行才能build成功,而有些项目svn co...

2008-11-27 00:02:07 94

Nexus WAR 及 索引浏览

作为目前最强大的Maven仓库管理器(Repository Manager),Nexus每天都在进步,由于它是开源的,任何人都可以随时帮助它改进。这里是Nexus相关的邮件列表地址:http://nexus.sonatype.org/dev/mailing-lists.html 。 这里介绍下几个Nexus 1.1 及 1.1.1 中引入和完善的两个功能: Nexus WAR 在...

2008-11-21 16:23:09 200

搜索Maven仓库

使用Maven进行开发的时候,比较常见的一个问题就是如何寻找我要的依赖,比如说,我想要使用activeMQ,可是我不知道groupId,artifactId,和合适的version。怎么办呢?本文介绍几个提供maven仓库搜索服务的站点。 1. http://repository.sonatype.org/index.html该服务器是由Sonatype提供的,Sonatype是由...

2008-11-17 21:31:43 583

“第十章. 构建生命周期” 发布

之前写过篇文章:Maven生命周期详解。说是详解,也就寥寥几百字,怎可能多详细?现在好了,Maven权威指南中有一章专门介绍生命周期,现在已经翻译完毕,请看:http://www.sonatype.com/book/reference_zh/lifecycle.html。 大致内容如下:什么是生命周期解释三种生命周期 clean, default, site插件目标(plugin ...

2008-11-06 23:20:58 104

Maven疑难排解

首先大概翻译一段来自sonatype blog的博文: -~-~—~-~-~-~-~如何诊断在Maven构建过程中碰到的问题?可以看一下这些手段: 1. 你正运行什么版本的Maven?如果不是Maven 2.0.9或以上,你需要升级。 Maven 2.0.9是第一个设置了核心插件版本的Maven版本。为什么这很重要呢?因为在2.0.9之前,Maven会自动下载核心插件的最新版本,比如...

2008-11-03 23:50:45 81

“第九章:项目对象模型 ”发布

最近开始新工作,较忙,翻译有点慢了,大家见谅。Sonatype的网站上周末在中国连接速度有点问题,不过是暂时性的,现在恢复了。 转入正题,第九章:项目对象模型,也是本书第二部分“Maven参考”的第一章,现已完成,我自己做过简单的review,肯定还有问题,比如说错别字,读者若有时间,在我们的讨论组:http://groups.google.com/留言,将不甚感激。 本章内容很丰富,...

2008-10-28 17:46:02 112

为什么要用Maven?

这里整理了一段MSN群中网友Arthas的精彩讲解:  来自群聊天记录Alex_Zhang 说: 我觉得maven比起ant来说还是差距很大,至少在灵活性上。maven非要靠那些插件Juven 说: 是的,如果自定义程度非常高,ant更灵活Alex_Zhang 说 那为什么还要用maven?是否因为它有自动生成站点,自动下载依赖包,版本管理等功能?难道就这些吗?中央库...

2008-10-09 17:17:33 299

"Maven: The Definitive Guide"在国外出版了

"Maven: The Definitive Guide"一书的商业模式十分有趣,首先你可以在线免费阅读或者下载PDF,地址为:http://www.sonatype.com/book。而现在,它又推出了纸质的书本,你可以在Amazon上购买。还有一点有趣的地方是,本书的所有版税全部捐献出来用来植树了。因此,这本书相当环保,不是为了盈利的,主要是为了推广Maven。 关于本书的内容,绝对是...

2008-10-08 12:52:48 205

持续集成实践和Maven核心介绍

之前在公司做的一个培训,主题是介绍持续集成(CI)和Maven的核心概念,这里分享给大家。 大概内容为:CI实践逐条详解:维护单独的SVN仓库,自动化构建,频繁提交……Maven核心介绍:一组通用的用户接口,一组预定义的约定配置,一个POM……CI阶段详解:持续编译,持续测试,持续数据库集成…… 本来想写把Hudson的介绍也加进来,无奈经验和时间的有限,暂时搁置了,见谅,不过看了这...

2008-10-06 08:57:35 89

现实中的Maven项目

《Maven权威指南》第六章. 一个多模块项目,以及第七章. 多模块企业级项目都已翻译完毕。 一个现实生活中的Maven项目只有一个POM文件,那是不现实的。典型的项目会和数据库交互,和Web Service交互,有自己的业务逻辑,暴露Web Service,有命令行应用程序,有Web应用程序……这个时候,必须分一下模块,松散耦合,清晰关联,增加重用等等好处不用多说。这两章内容,就是介绍怎...

2008-09-16 11:32:14 90

解决Maven中OutOfMemory错误

当Maven项目很大,或者你运行诸如 mvn site 这样的命令的时候,maven运行需要很大的内存,在默认配置下,就可能遇到java的堆溢出。如: [INFO] Building jar:/home/dl9pf/svn/mindquarry/mindquarry-jcr/mindquarry-jcr-changes/target/mindquarry-migration-with-dep...

2008-09-10 16:43:21 1080

Nexus —— 强大的仓库管理器(相关章节译毕)

前面的文章我大概介绍了什么是Maven仓库管理器,以及仓库管理器的重要性。现在,介绍一下Sonatype推出的强大仓库管理器产品 —— Nexus。 简要罗列一下Nexus的特性:代理远程仓库。配置Nexus代理中央仓库,其它任何公开的Maven仓库,将你组织内部的Maven配置指向Nexus,这样所有构件都将从Nexus下载,如果Nexus没有你要的构件,它会自动先去外部仓库下载到本地,...

2008-09-05 09:50:58 163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除