Monthly Archives: 五月 2010

终于成为本本一族!

前几天由于自己的不小心,把跟了自己多年的台式机的主板给弄坏了,本来想去保修的,结果看了一下标签,保修期居然刚过了2个月,杯具啊…
其实早就想买本本了,只不过对那台式机有深厚的感情,而且一直工作地非常稳定,也不忍心将它打入冷宫.这一次虽然它受伤了,但我还是会把它救回来的,只不过接下来它要退居二线了.
小Y!一次不经意地懈逅,让我深深地爱上了它.它那时尚的外表,再加上强劲的配置,真让人欲罢不能.虽然它侧边那条橙色的条纹让我有点别扭,但瑕不掩瑜,仍然非常值得拥有.
昨天,y460被我收入囊中…特写篇博文记念一下:)

买来后,迫不及待试了一下它的卖点之一:JBL专业音响.果然名不虚传,比我那个创新的2.1还要好,音质清晰浑厚.大喜之外,还体验了一下许多酷酷的功能:slidebar的拉链式的锁屏效果与win7的aero效果相得益彰;双显卡一键切换的功能让我在性能和节能上能自由选择….太多太多了,更多的功能还要在以后慢慢发掘.
其实买本本最主要的目的还是为了方便工作,由于今后的工作平台更多的会在linux下,于是,在体验了y460的几个主要功能后,我开始装上了久闻大名的lucid lynx(ubuntu 10.04 LTS),这只清醒的猞猁作为LTS版本,其重要性可见一斑.一改之前的土黄色,这一次用上了更为悦目清新的紫色,其特效丝毫不逊色于win7.而且与社区的结合非常紧密,像Twitter和Facebook都无缝地整合在里面,不过由于国情,这些功能就有点打折扣了.由于本篇博文是为了记念本本的到来,ubuntu的功能我就不详细介绍了。
我相信我会充分利用好如此优秀的装备,开启事业的新篇章,迎接更美好的未来。

《Maven权威指南》学习笔记(三)

构建生命周期

Maven使用POM描述项目,将其建模成一些名词.在Maven中这些“动词”是由Maven插件包装的一些目标,它们绑定到一个构建生命周期的阶段中.当你让Maven构建一个项目的时候,你其实是让它一步步通过那些预定义的有序的阶段,并且运行所有注册到某个特定阶段的目标

Maven中有三种标准的生命周期:清理(clean),默认(default)(有时候也称为构建),和站点(site)

清理生命周期 (clean):它包含了三个生命周期阶段pre-clean,clean,post-clean

简单的运行clean:clean目标不会完整的执行该生命周期,但是指定clean阶段就能使用clean生命周期,并且逐个的经过生命周期阶段,直到到达clean阶段(可能未到post-clean阶段就停了)
指定post-clean阶段能经过完整的clean生命周期,直到post-clean阶段.
直接运行pre-clean阶段会提示:[INFO] No goals needed for project – skipping.可以在它的构建配置中,绑定了某个目标至pre-clean阶段
可以自定义Clean插件的行为去删除构建输出目录以外的文件

默认生命周期 (default):它是一个软件应用程序构建过程的总体模型。第一个阶段是validate,最后一个阶段是deploy
站点生命周期 (site):它包含了四个阶段:1. pre-site 2. site  3. post-site  4. site-deploy  默认绑定到站点生命周期的目标是:1. site – site:site  2. site-deploy -site:deploy
在上述这些生命周期里,如果某个生命周期阶段没有目标绑定在其上,运行该阶段会提示[INFO] No goals needed for project – skipping

《Maven权威指南》学习笔记(二)

POM

POM是Maven中一个项目的描述性陈述;也是当Maven构建项目的时候需要理解的一份“地图”
我们已经确定了POM是描述性和声明性的,它不像Ant或者Make那样提供显式的指令,我们也注意到POM的概念不是特定于Java的
超级POM:它是Maven安装的一部分,可以在/usr/local/maven/lib中的maven-2.0.9-uber.jar文件中找到。如果你看一下这个JAR文件,你会看到在包org.apache.maven.project下看到一个名为pom-4.0.0.xml的文件

默认的超级POM定义了一个单独的远程Maven仓库,该配置可以通过一个自定义的settings.xml文件来覆盖.注意这个默认的超级POM关闭了从中央Maven仓库下载snapshot构件的功能
默认的插件仓库就是这个中央仓库。Snapshot被关闭了,而且更新策略被设置成了“从不”,这意味着Maven将永远不会自动更新一个插件,即使新版本的插件发布了。
build元素设置Maven标准目录布局中那些目录的默认值
从Maven 2.0.9开始,超级POM为核心插件提供了默认版本
所有的Maven POM都继承自超级POM

Maven开始于超级POM,然后使用一个或多个父POM覆盖默认配置,最后使用当前项目的POM来覆盖之前生成的配置结果。最后你得到了一个混合了各个POM配置的有效POM。如果你想要查看项目的有效POM,你需要运行Maven Help插件的effective-pom目标
项目版本

Maven中的版本包含了以下部分:主版本,次版本,增量版本,和限定版本号

限定版本用来标识里程碑构建:alpha和beta发布,限定版本通过连字符与主版本,次版本或增量版本隔离

如果你的版本号与格式<主版本>.<次版本>.<增量版本>-<限定版本>相匹配,它就能被正确的比较,这种比较基于主版本,次版本,和增量版本的数值,如果不标准,就会使用字符串进行比较.

Maven会将限定版本后面的数字认作一个构建版本.但构建版本的解析还是使用字符串进行比较.可以使用“alpha-02”和“alpha-10”来解决

如果一个版本包含字符串“SNAPSHOT”,Maven就会在安装或发布这个组件的时候将该符号展开为一个日期和时间值,转换为UTC(协调世界时)(没试过)

LATEST是指某个特定构件最新的发布版或者快照版(snapshot),最近被部署到某个特定仓库的构件。RELEASE是指仓库中最后的一个非快照版本.如果你处于软件开发过程中,你可能想要使用RELEASE或者LATEST,这么做十分方便,你也不用为每次一个第三方类库新版本的发布而去更新你配置的版本号。但当你发布软件的时候,你总是应该确定你的项目依赖于某个特定的版本