你说有什么不能说要说的吗?

吉电股份今天肯定翻红,不然我自己砍掉自己脑袋!立帖为证!死庄,你那点手法太熟悉
评论该主题
作者:您目前是匿名发表 &
作者:,欢迎留言当前访客身份:游客 [
当前位置:
对于做Java的同学而言,应用依赖的那一众的Jar如何管理是个大难题,像我们的很多应用动不动就依赖上百个Jar,这些Jar的冲突问题很容易 导致各种奇怪现象,例如有些机器是OK的,有些机器却报NoSuchMethodException等等,说说Jar管理中要解决的几个问题以及现在我们 的解决方法,另外就是也希望能听到大家对这块的建议或者碰到过的问题。
Jar管理中最容易碰到的是这么几个问题: 1. Jar包版本冲突 这是最容易出现的现象,因为应用引用的Jar可能会再依赖其他的Jar,于是这种情况下会变得很不可控,通常来说用maven管理的java工程,在打包 的时候会检查同样groupId和artifactId的依赖有没有出现版本冲突的现象,如果出现会禁止打包,这一定程度上缓解了依赖冲突的问题。
不知道大家碰到过多少那种改了groupId或artifactId,但里面类的包名什么的又没变的现象,反正我是碰过很多次了,对于这种状况Maven 是提供不了什么帮助的,这种状况被发现通常会是由于应用启动或运行的时候报ClassNotFoundException或 NoSuchMethodException,在启动参数上增加-XX:+TraceClassLoading有可能就会发现原来加载到了另外一个 Jar,最龌龊的现象是某些jar把它依赖的jar的类也打包进去了。
Jar包版本冲突的问题绝对是Java应用不好解决的一个点,通常这类问题目前会采用这样一些方法来避免: * 在pom.xml中写依赖的时候exclude掉依赖的某些依赖,避免依赖的依赖带来jar冲突; * 对于实在找不出有冲突的jar是哪里造成的时候(至少我确实碰到过,即使用mvn dependency:tree也没找到),可以在pom.xml中直接写不想打入包中的那个jar的依赖,scope指定为provided,这样可以 实现强制不把这个版本的jar打入包中; * 在打包完成后,解开所有的jar,检查是否有完全同样的类名但类文件内容又不一致的现象,如果有则报错等,这种需要编写一个小的mvn插件来完成,或者也 可以在一个打包脚本中最后用脚本来解决,这种千万不能存在侥幸心理,什么自己机器上是OK的,只要有类版本冲突,就是有可能会出现问题的,之所以在你的机 器不出现只是可能凑巧装载的class是你应用需要的那个。
还有一类Jar包版本冲突问题可能是你的应用和容器的冲突,例如在jboss/tomcat里,尽管通常jboss/tomcat会提供 classloader隔离的机制,但很多时候会出于某些需要关闭,这种时候就很容易导致容器的jar和应用的jar冲突的现象,这种是最不好搞的,因为 只能是覆盖容器的。
ps: 真心希望Java能从语言级更好的解决依赖的问题,否则对于大型应用工程而言,Jar的冲突始终是个不太好处理的问题。
2. SnapShot包的问题 你的生产环境里跑的应用里依赖了多少SnapShot的包呢?这种是很容易造成极高的风险的,因为通常SnapShot的依赖在打包时会直接升级成最新的,而最新的这种有可能是有问题的,如果就这样打包后部署到生产环境,有可能会产生悲催的故障。 前两天我们在发布的时候就碰到过一次这个问题… 我们之前为了避免这类问题,是在打包的时候会检查是否有SnapShot的版本,有的话会禁止打包,但据说后来由于此类依赖太多,就去掉了,但从我们上面碰到的问题可以看到,这种问题是相当严重的…
3. 依赖了老的有bug的版本的Jar的问题 应用里依赖的无论是外部提供的Jar,还是公司内部其他团队提供的Jar,都有可能依赖的是有bug的版本,碰到这样的现象该怎么统一控制呢? 例如发邮件通知所有的开发,某个版本不能用? 通常来说这种通知都是无效的。 我们对于此类问题是写了一个maven插件,在打包时会增加一个依赖的jar包规则,例如当依赖的某个jar时,必须高于某版本,或不等于某版本,如果不符合的话则拒绝打包。 这个方法对一些需要升级jar版本的场景也会有帮助,例如提供的一个老版本的jar,可能希望在3个月后接口全部升级到新接口,于是可以在打包的时候提醒依赖的某个老版本的jar在几个月后会废弃,这样通常对升级会有一些帮助。
关于Jar包的管理,你有什么想说的吗,欢迎回复消息。
from:/?p=156#comment-214
共有1个答案
<span class="a_vote_num" id="a_vote_num_
重复制造轮子可破。
--- 共有 5 条评论 ---
: (⊙v⊙)嗯
(1年前)&nbsp&
: jar问题,在有java的第一天开始大家就知道了。在开发C++的时候,还有dll噩梦一说,这比java要早很多。
dll跟jar没区别。既然想省事,必须付出代价啊。
如果作为一个公司,想长期延续的在技术上不断发展,搞自己的库肯定是必然之路啊。就像阿里,淘宝,百度一样的。
小公司就尽量的少依赖框架吧。
(1年前)&nbsp&
: 这个量很大吧
(1年前)&nbsp&
: 无耻一点,把用到源代码拆出来,变成自己的包。大家就依赖一个包。参考google的guava
(1年前)&nbsp&
(1年前)&nbsp&
有什么技术问题吗?
拜拜了的其他问题
类似的话题当前位置:
>>>习作。学习了本单元的课文,你有什么感想吗?请你选一篇课文写一篇..
习作。学习了本单元的课文,你有什么感想吗?请你选一篇课文写一篇渎后感。&&要求:语句通顺,没有错别字。400字左右。
题型:写作题难度:偏难来源:同步题
马上分享给同学
据魔方格专家权威分析,试题“习作。学习了本单元的课文,你有什么感想吗?请你选一篇课文写一篇..”主要考查你对&&大作文&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
小学生作文主要涉及以下几种考查方向:1、扩写、缩写、改写、续写故事。不应改变原作的意思和主旨,语言要合理。 2、读后感。一般格式就是:略述原文有关内容——提出自己见解——深刻论证——强调或延伸扩展自己见解。 3、命题作文和半命题作文:命题作文:一般是指出题者给出一个既定的题目,要求应试者根据这个给定题目进行写作。半命题作文:指作文题目只出现一半或一部分,另外一半或一部分由考生自己去补充的一种作文。这是因为这种题型的最大特点是:有一半或一部分的命题权握在了作者手里,选材有较大的自由度,在一定范围内考生有一定的自主权,与全命题作文相比,有利于考生发挥自己的写作水平,可以较灵活自由地进行写作。 4、话题作文:话题作文是一种用一段导引材料启发思考,激发想象,用话题限定写作范围的作文题型。“话题”,就是指谈话的中心;以所给的话题为中心,并围绕这个中心内容而进行选材写出的文章就是“话题”作文。这类作文题表面上一般不含有观点,内容上不予限制,形式上往往也是体裁不限。“话题”作文其实只是提供了一个话题,即规定了表达的中心内容,而不限制取材范围和表达方式的作文形式。以话题为内容的开放式命题与以往的命题作文相比较,它的好处是给考生写作的空间更大,发挥的余地更大。 5、材料作文:材料作文,是根据所给材料和要求来写文章的一种作文形式。材料作文的特点是要求考生依据材料来立意、构思,材料所反映的中心就是文章中心的来源,不能脱离材料所揭示的中心来写作,故材料作文又叫“命意作文”,属于自命题。 小学生作文技巧:1、移步换形法【特点】采用移步换形的方法描写建筑物,可以不断地变换立足点和观察点,对建筑物进行多方面的观察描写。同一个建筑物,从不同的角度去看,得到的印象是不一样的。因此采用移步换形法描写建筑物首先要把观察点和立足点交代清楚,使读者明白你所描述的建筑物形象是从哪一个角度看到的。否则,容易把读者搞糊涂了。其次,采用移步换形法描写建筑物时,一定要抓住建筑物的最主要的特征来写。如果采用面面俱到的方法来描写,文章容易变成一本流水账。
2、说明介绍法【特点】采用说明介绍法描写建筑物时,首先要注意紧扣文章确定的中心进行必要的说明介绍,切忌不着边际的东拉西扯。在说明介绍的过程中要简明扼要,切忌拖泥带水。采用说明介绍法描写建筑物时,还要注意整体的连贯性,也就是说在说明介绍完毕以后,文章要返回到描写建筑物上来,并与前文衔接。文章从描写建筑物转到介绍说明,或从介绍说明回到描写建筑物要有过渡词或过渡句。
3、环境衬托法【特点】周围都是绿色,中间的一点红色就特别鲜艳夺目,所以说“万绿丛中一点红”。对建筑物周围的景色进行适当描写,建筑物就显得突出。描写建筑物周围景色的目的是为了突出建筑物,因此描写景色时要能衬托建筑物的特点,切忌离开建筑物而大写特写景色。造成喧宾夺主。在描写建筑物周围的景色时,要把观察点和立足点交代清楚,便于读者了解建筑物的位置。
4、彩笔描绘法【特点】植物总是由根、茎、叶、花、果组成的。运用彩笔描绘法时,要把根、茎、叶、花、果各个部位的最主要特点写出来,要写出它们的形状,写出它们的颜色。采用这种方法描写植物,要仔细观察。要分辨出植物各个部位的颜色,同样是红色,要分出是火红的,还是粉红的;同样是黄色,要分出是桔黄的,还是金黄的;同样是绿色,要分出是碧绿的,还是嫩绿的……要仔细区分各个部位的形状特点;同样是花,花骨朵与盛开的花就不一样。观察得仔细,描写得具体,读者就好像看到一张植物的彩色照片。采用这种方法描写植物,还要运用恰当的比喻,要写出自己的情感。
5、远近结合法【特点】同一棵植物,远看和近看是不一样的。这同照相一样,放在照相机的前面和远离照相机,摄下来的照片是大小不相同的。采用远近结合法描写植物,可以从不同的角度反映出植物的形状和颜色的特点,给读者以完美的印象。采用这种方法描写植物要把观察点交代清楚,也就是要说清楚是远看的还是近看的。其次要注意叙述的顺序,或由远及近,或由近及远,这样文章才能条理分明。
6、时序变换法【特点】植物各个部位的形态和颜色是随着季节的变化而变化。如果我们把植物在不同季节的特点写出来,同时把前后有关的情况交代清楚,就等于在不同的时间给植物拍了彩色照片。看了这一组彩色照片,读者对它就有了一个较为全面的了解。采用时序变换法描写植物,首先要注意在平时积累资料。要有计划地在不同季节对同一植物进行仔细观察,并记下观察日记,这样,写作时才能对积累的材料进行取舍,写出一篇好文章。其次要注意观察的连续性。
7、生长变化法【特点】植物总是要生长的,一般要经过发芽、生枝、长叶、开花、结果等阶段。如果把植物生长的不同阶段的形状、颜色的特点和生长的情况与下来,就好像给这棵植物拍了一部小电影。读者可以在很短的时间内,通过阅读,了解植物生长的全过程。采用生长变化法描写植物,首先要注意把植物生长过程中最突出的变化写下来;其次要交代植物发生变化的原因、前后情况和过程;此外要注意按时间的先后顺序有条不紊地写下来。
8、展开联想法【特点】我们看到一棵植物,往往联想到其它事物,这些事物往往与这棵植物有共同之处。例如我们看到棉桃,联想到洁白的雪花,这是因为雪花和棉花的颜色相同;我们看到大西瓜,联想到篮球,这是因为西瓜和篮球的形状相似;我们看到冰在雪地中郁郁葱葱的松树,想起那些在敌人面前不怕严刑拷打,决不屈膝的英雄,那是松树与英雄的品质上有相似之处。采用联想的方法描写植物,要注意抓住植物的主要特点,展开丰富的想象。要提高自己的联想能力,首先要认真读书,了解生活,使自己的头脑储备丰富的知识。其次是勤思勤想,经常训练,使自己有丰富的想象能力。
9、突出重点法【特点】植物总是由根、茎、枝、叶、花、果组成。我们在描写植物的时候,可以对植物的根、茎、枝、叶、花、果的各个部分进行描述,也可以只对植物的某一部分进行描述。采用重点突出法描写植物时,首先要找出这棵植物与众不同的地方。其次要对最能体现这棵植物特点的部分从颜色、形状、气味等多方面进行具体描写。此外还可以恰当地运用拟人、比喻等方法。
10、对照比较法【特点】俗话说:“不见高山,不知平地。”事物的特点往往在比较中得到显现。我们描写植物时,往往通过对照比较的方法来突出植物的特点。对照比较的方法有两种。一种是把这种植物与另一种植物进行比较;一种是把植物本身两种截然不同的特点放在一起比较。采用对照比较法要注意抓住所要描写的植物最显著的特点与其他植物作比较。这样才能给读者以深刻的印象和启示。采用对照比较法还要注意表达作者自己的思想感情和倾向性。这样才能使文章感人。抓住同一植物不同部位进行比较时,要注意找出矛盾点,这样才能引起读者的注意。
发现相似题
与“习作。学习了本单元的课文,你有什么感想吗?请你选一篇课文写一篇..”考查相似的试题有:
32253386617982989095246801视频: 马上就要演出了你有什么想说的么
分享给好友
您需要先安装&,才能下载视频哦
用优酷App或微信扫一扫,在手机上继续观看。
马上就要演出了你有什么想说的么
分享给站外好友
把视频贴到Blog或BBS
flash地址:
<input type="text" class="form_input form_input_s" id="link3" value=''>
<input id="link4" type="text" class="form_input form_input_s" value=''>
我上电视了~
节目制作经营许可证京字670号
京公网安备号
药品服务许可证(京)-经营-

我要回帖

更多关于 孟子说君子有三乐 的文章

 

随机推荐