这里说的JAR地狱,指类路径里JAR包太多这个问题。另外一个“JAR地狱”的解释是“反模式”中的一个概念,请见http://windshome.iteye.com/blog/1840651
我记得打开一个网上找来的工程,里边都会有一堆JAR包,尤其是web工程,里边看吧,光Apache Common的JAR包就很多,再有log4j的、日志的好多,slf4j、log4j等等,这还都是我自己能认识分辨的,很多看了名字,不知道是干啥用的,一大堆,呵呵!
这个时候真想问一问这些工程的创建者,这些JAR包都是你要用的吗?能给个介绍,这些JAR包都是干啥的?哪里来的?你都引用了这些JAR的哪些功能?
JAR包多了,很容易引发各种兼容性问题。如果是独立的(自己一个进程运行)产品还好,部署在共用的web服务器上就难说得很了,如果是API类的,提供接口给别人再用,带着一堆JAR,真的就是一种很糟糕的方式。
也许很多人都习惯了,但是我有几次遇到客户要求我们提供我们产品的每一个JAR包的说明,里边每一个package的说明。因为是API类产品,客户担心,引用了我们API,会和他们自己业务的JAR包和命名空间冲突(我们的产品在使用第三方组件时非常保守和持重,还被challenge,那现在大量使用第三方包的会怎样呢?)。
我觉得作为一个认真的设计师或开发人员,在产品设计开发过程中,应当关注一下你的类路径和你类库目录,看看都有些啥,需要的留下,不需要的剔出去。这个不算苛刻的要求。至少你要清楚你JAR包目录下的每一个文件,里边都有哪些package,这些jar会被谁用到。也许,这对现在的设计师和程序员,会非常不容易。
我的观念,稀里糊涂的设计师和程序员,一定不会设计出好的系统。
相关推荐
j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar架包j2ee.jar...
包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-...
该资源为mysql-connector-java-8.0.30-jar包,欢迎下载使用哦!
从javacv-platform-1.3.3-bin.zip中抽出来的:javacpp.jar、javacv.jar、javacv-platform.jar、opencv.jar、opencv-android-arm.jar、opencv-android-x86.jar、opencv-linux-armhf.jar 、opencv-linux-ppc64le.jar、...
c3p0-0.9.5.2.jar mchange-commons-java-0.2.11.jar commons-logging-1.2.jar mysql-connector-java-5.1.43-bin.jar
该资源为mysql-connector-java-8.0.31-jar包,欢迎下载哦!
mysql-connector-java-5.1.27.jar mysql-connector-java-5.1.27.jar
部署web工程时所需的J2EE公共jar包,建议可以在eclipse中设置用户库,方便使用
mysql-connector-java-5.1.47 jar包,在利用jdbc连接数据库用
教你怎样把class文件打成jar包--用java命令打包
J2EE项目开发常用Jar包 hessian-4.0.7.jar jackson-all-1.8.0.jar j2ee.jar jstl.jar ojdbc6.jar standard.jar commons-beanutils-1.8.0.jar commons-digester-1.8.1.jar commons-fileupload-1.2.1.jar ...
J2EE JAR包(J2EE1.3 J2EE1.4 J2EE5.0 ) 1.3--5.0 J2EE的jar包
taobao-sdk-java-auto.jar工具类,taobao-sdk-java-auto.jar工具类
欢迎下载Java各种Jar包.zip 此文件所包含的Java Jar包: ---MySQL mysql-connector-java-3.1.12-bin.jar mysql-connector-java-5.1.15-bin.jar ---Oracle classes12.jar ---SQL2005 sqljdbc.jar ---SQL...
MySQL官方提供的驱动包 mysql-connector-java-5.1.7.zip
JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR
sqoop和关系型数据库mysql交互数据,需要把mysql-connector-java-*.jar包拷贝到sqoop安装目录下的lib文件下。
mysql-connector-java-5.1.37jar包和源码下载 最新mysqljar包
官方下载的MySQL驱动jar包,本文件包含了以下版本的jar包:mysql-connector-java-2.0.jar、mysql-connector-java-3.0.jar、mysql-connector-java-3.1.jar、mysql-connector-java-5.0.jar、mysql-connector-java-5.1....
mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。