坚信科学,分享技术

关于maven,做错的十件事

maven管理的java项目越来越多,令人遗憾的是在使用maven的时候,多多少少都会遇到这样那样的问题,于是会有各种各样的解决办法,下面是一个列表,列出了使用maven的误区和解决办法。 1.频繁在所有项目使用mvn install并且随时在更新 这是我见过的最常见的问题,解决了这个问题有许多的好处。在maven的文档中找不到一句对这种情况的描述,不过我坚信一句话:每个artifact在maven仓库中都有一个家。 在你的公司里,应该有一个仓库管理工具。每一个你开发的模块都应该发布到这个仓库上去。你可能会问,应该什么时候发布?答案是,每次在你的构建服务器构建之后,都需要发到仓库。我们通常都使用Hudson来做这件事情,另外还有Continuum和TeamCity也还不错。 现在,当你所有的项目都在仓库里有的时候,你的项目就不再需要不断地mvn install了。如果你修改一个模块,你只需要重建这个模块,其余依赖的模块会由maven自动从仓库中下载。 2.你和你的团队成员依靠复制.m2文件夹来解决项目里的依赖找不到的问题 这看起来很疯狂,不过这件事情经常发生。解决的办法,设置一名仓库管理员。一旦管理好了仓库,就不会再出现大家找u盘复制.m2文件夹的事情了。因为可以加速,你不应该把本地的仓库整个地删除掉,毕竟在本地读取仓库是最快的。 3. 你为了解决依赖找不到一个老版本构件的问题,把最新的pom文件修改了版本弄到了老文件里后安装 考虑到这种情况,有人把一个模块的版本从1.3-SNAPSHOT修改成了1.4-SNAPSHOT。你马上要去度假,所以呢你就不想再更新和安装1.3的版

Continue reading

Posted in java | Tagged , | 4 Comments

54chen Twitter memo 2011-03-13

Flashcache一个非常不错的软件(准确的说是一个Linux的模块), 可以动态加载。Flashcache通过在文件系统(VFS)和设备驱动之间新增了一次缓存层,来实现对热门的缓存。#系统架构# # amoeba系统性能报告 http://goo.gl/fb/WeRBK #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

amoeba系统性能报告

关于amoeba,请见http://www.54chen.com/java-ee/amoeba-rose-open-source-big-website-arch.html,他是一个不错的mysql proxy替代工具。 读操作 100个并发,mysql: load:7-8 Rate: 225 req/s Rate: 240 req/s Rate: 216 req/s Rate: 193 req/s Rate: 212 req/s Rate: 210 req/s Rate: 208 req/s Rate: 229 req/s Rate: 215 req/s Rate: 231 req/s Rate: 241 req/s Rate: 210 req/s Rate: 273 req/s Rate: 247 req/s Rate: 212 req/s amoeba: load:13-15 Rate: 214 req/s Rate: 185 req/s Rate: 174 req/s Rate: 181 req/s Rate: 210 req/s Rate: 194 req/s Rate: 187 req/s Rate: 190 req/s Rate: 189 req/s Rate: 167 req/s Rate: 182 req/s Rate: 182 req/s Rate: 185 req/s Rate: 178 req/s Rate: 184 req/s Rate: 187 req/s Rate: 183 req/s Rate: 196 req/s Rate: 177 r

Continue reading

Posted in java | Tagged | 1 Comment

54chen Twitter memo 2011-03-06

Amoeba+rose:开源项目搭建大型网站可扩展构架实记 http://goo.gl/fb/CE2Rg # 某公司猎头言:X大目前人才战略,确实是不惜代价挖小米科技的人。无言以对。 # 人人网不登录的时候,首页提示:禁止利用互联网等从事违法活动。这是神马情况? # touch iconv.tmp && find . -iname "*.java" -exec iconv -f gbk -t utf-8 '{}' -o iconv.tmp \; -exec mv iconv.tmp '{}' \; #linux

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

Amoeba+rose:开源项目搭建大型网站可扩展构架实记

java是一把双刃剑,可以很重地伤人,亦可很重地自伤。曾在一处见到,淘宝在长期使用java构建web项目后,得出一个结论:积重难返。 实际工作经验得到的结论,积重难返的原因,往往不是java本身的缘故,而是团队成员基础积累参差不齐,许多次的“一不小心”积累成了最终的结果。到了悔之晚矣的时候自然就积重难返了。如何避免java使用自伤,最关键在于,统一团队成员的code入口,框下可能发生的事情,避开不能发生的事情,言归正传,下面开始介绍两个非常不错的java开源项目,搭配两个项目,可以搞定所有的mysql+java项目的任何方向的扩展和自由的开发而不担心积重难返。 项目简介 1) rose框架: 来自人人网王志亮大侠的大作,其优异的性能撑下了SNS网站复杂多变的业务(人人网大量使用),同时开发非常方便,有大量的文档可供参考。 项目地址: http://code.google.com/p/paoding-rose/ 2) Amoeba: Amoeba(变形虫)项目,专注分布式数据库 proxy 开发。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。使用这个项目可以将DB层透明,简单做到分库分表,甚至无限partition。作者陈思儒大侠。 下面有一篇两年前Fenng对作者的采访: http://www.infoq.com/cn/articles/interview-chensiru-amoeba 项目地址: http://amoeba.meidusa.com/ 构架图 相关配置 1) 配置rose中的

Continue reading

Posted in java | Tagged , | 3 Comments

54chen Twitter memo 2011-02-27

执行分布式数据存储上的聚集查询,类似 Hive 和 Pig 的框架提供给了一个概要模型,可以隐式地处理进程。 # 消息灵通人士透露,去年Quara获得了1400万美元投资,目前他们只有9名员工。 # linkedin也被墙了 # 分布式日志系统scribe使用手记 http://goo.gl/fb/rm6aP # http://www.qconbeijing.com/speakers.aspx 受到@许世伟 大侠的邀请,收集一下大家想知道什么,我的工作经验:1.分布式存储nosql 2.soa化的架构演进 3.无线互联网的架构差异 4.maven啥的运维相关工具使用介绍。 # 测试一下,还能同步新浪微薄不。 # 54chen Twitter memo 2011-02-20 http://goo.gl/fb/aoPUv #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

分布式日志系统scribe使用手记

scribe 是facebook 开源的分布式日志系统 。其使用了thrift传输log,由于使用thrift,所以不论是什么语言的项目都可以实现日志收集,可达到远程或者是本地同步远程的分布式日志收集效果,在其示例配置中,并发量可达到max_msg_per_second=2000000,对普通的应用来说,每秒上百万的访问量可能性很小,因此基本上即使最简单的配置,远程收集所有项目的log也是可靠的,如果压力大的话,可以采取主从的配置,将日志打到本地后由scribe的主从配置来自动同步。下面讲述如何安装和使用scribe。 下载boost、thrift、scribe boost_1_45_0.tar.gz thrift-0.5.0.tar.gz facebook-scribe-2ee14d3.zip 通过yum安装需要的依赖 yum install libevent libevent-devel python-devel yum install gcc-c++ yum install automake yum install byacc flex 安装boost tar -zxvf boost_1_45_0.tar.gz cd boost_1_45_0 ./bootstrap.sh ./bjam install --prefix=/opt/soft/bootstrap 安装thrift-0.5.0 tar zxvf thrift-0.5.0.tar.gz ./configure --with-php-config=/opt/soft/php/bin/php-config -

Continue reading

Posted in java, 架构研究 | Tagged , | 7 Comments

54chen Twitter memo 2011-02-20

Open Flash Chart搭配JOFC,是展示变化多端的统计日志数据不错的选择。 # 【Facebook 这五条管理技术团队的经验总结】1、招聘很紧急,而且要找牛人 2 流程由实践者确立 3 内部晋升,不找空降的管理人员 4、开发工具代替人力低效劳动 5、技术领导,不要外行指挥内行。 # facebook使用thrift,百度、人人网使用ICE # hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为 MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计. # scribe 是facebook 开源的分布式日志系统 。 可以用java 借助log4j 向分布式scribe 写入日志。 # http://www.54chen.com/java-ee/maven-m2eclipse-not-support-nested-module.html maven nested module 功能的个人意见。 # 闲话maven m2eclipse不再支持nested module的原因 http://goo.gl/fb/3idT6 # 求靠谱的log分析并统计的NB开源项目。 # 中国正式超过日本成全球第二大经济体 http://news.163.com/11/0214/08/6SREU94K0001124J.html 【该评论已关闭】 # 今天和朋友们聚会,呆在大公司的兄弟普遍都发慌,工作没有挑战,这个行业的发展还不足以让普通员工也

Continue reading

Posted in 生活备份 | Tagged | Leave a comment

闲话maven m2eclipse不再支持nested module的原因

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 如果你已经有十次输入同样的Ant targets来编译你的代码、jar或者war、生成javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工作的方法。Maven便提供了这样一种选择,将你的注意力从作业层转移到项目管理层。Maven项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿主项目网页. 我严重支持大范围使用maven,但对于内嵌module的支持,我表示怀疑。在使用eclipse进行java开发的时候,要使用maven,m2eclipse插件是必不可少的。之所以在新版本的m2eclipse不再支持nested module的功能了,也许是m2eclipse的人员和我一样有相同的担忧。 1)项目内嵌导致工程脆弱 maven的目标是松耦合项目与项目之间的联系,任何一个项目不用关心所依赖项目的变化和生命周期,关联的项目不用管是不是在你的eclipse workspace中,还是本地的仓库中还是远程的仓库里。但是一旦有了项目的内嵌,这就变成了紧耦合的项目关系,你必须关心子文件夹里的东西,整个项目变得更加脆弱。 2)浪费时间 如果你的项目有无数的内嵌子项目,一旦你修改了其中一个子项目的代码,你不得不全部重新检出、测试、打包,这样的生命周期都必须要花时间来做,不必须的时间浪费在这里了。 3)鼓励独立的项目反对代码重用 通常情况下,maven鼓励大家把具有独立功能的模块独立成单独的项目。如果你的项目有一部分代码需要被别的项目重用,你应该做的事情是把这

Continue reading

Posted in java | Tagged , , | 4 Comments

54chen Twitter memo 2011-02-13

研究一下maven里引用ant的子项目怎么搞 # 用virtualbox作开发机,团队迈向更高效 # 读好代码,如入芝兰之室,久而不闻其香;读破代码,如过鲍鱼之肆,久而闻其臭. # 从我后台的同步twitter的代码发现,twitter的读写同步越来越慢了。 # 虚拟机作开发,是个不错的选择。 # http://www.baidu.com/s?wd=%B3%C2 百度真是给面子,这也能把我博客排前头 # 今日开工,米聊的同志们基本到齐,兔年大吉! # 54chen Twitter memo 2011-02-06 http://goo.gl/fb/Wt4nW # 54chen Twitter memo 2011-02-06 http://goo.gl/fb/CImSm #

Continue reading

Posted in 生活备份 | Tagged | Leave a comment
Page 10 of 42« First...89101112203040...Last »
54chen on Twitter
Connect with 54chen on
Twitter sina微博V GMAIL Profile
54chen(陈臻),大负载构架挑战者,不折不扣的blogger,曾经还是业余老湿,梦想把技术变成科学,现在奋斗在无线互联网创业公司。
EX:
人人网分布式研究人员
雅虎、淘宝搜索技术人员
金山抠腚人员
暂居北京,情绪稳定。
曾用代号有:cc0cc、零蛋。

SEARCH

Comments

  • wendell: 初学,不知道load的文件怎么来的, ...
  • nodexy: 看起来好适合铁道部啊 哈哈 个人...
  • robin: 陈兄,我要买小米手机,帮我搞一个...
  • 54chen: 您能提供下zip包的名字、configure参数...
  • yaodong: nginx/1.0.10 刚刚测试 body_max_count 这个...
  • paying: 老兄给我一份好吗?476356282@qq.co...
  • 54chen: 感谢测试,已经fixed且push到gi...
  • yaodong: 谢谢 辛苦啦, 我会及时关注 如果有...
  • 54chen: 结果:1.0.10的参数检查严格了,今天...
  • 54chen: 1.0.9下测试通过,今天我试试1.0.10版...