文章来源:
在跑书上带的源码的时候出现Error:
java.lang.NoClassDefFoundError: org.hibernate.cfg.Configuration
解决办法:
将Hibernate相关jar包拷贝到lib目录下即可
上面的问题引发了我的思考,为什么jar包非要放到lib目录下?当然这个jar包得加个定语限制一下,就是引用的外部jar包,像tomcat、JRE相关jar包这些都是我们和Eclipse整合过了,所以我把它们看成内部jar包,而Hibernate这类的,没有和Eclipse整合(MyEclipse有整合,但我用的是Eclipse),我把它们看成外部jar包。
因为Tomcat和JRE相关的路径都是在Eclipse中设置过的,所以那些jar包的位置也就固定了。而外部jar包就不同了,我的jar包有可能引用自D盘,你的jar包有可能引用自E盘,他的jar包有可能引用自F盘,那么我这个Web工程一但换个电脑,就跑不起来了。为了解决这个问题,就要制定一个规范,jar包都放到一个大家都公认的地方,那个地方就是WebRoot下的lib.
虽然lib下放jar包大家都知道,但是并非所有人都照着做,《人月神话》告诉我们,软件工程难免陷入“焦油坑”,究其原因一方面就是规范的缺乏。
所有我常说,生活不止代码。有时候不是说这个项目能跑起来就行,而是要符合规范的跑起来。假如有一天,大家都这样的话,那么我想软件工程的“银弹”是有的。

探讨了在软件工程项目中,为什么外部jar包如Hibernate等需要放置在WebRoot下的lib目录,以确保跨平台的兼容性和项目的规范性。
1365

被折叠的 条评论
为什么被折叠?



