用MyEclipse进行Web 框架的整合很方便,但是有的时候太方便也会起反作用。在一本讲框架的书上看到一句话觉得很有道理(书和作者不及得了) —— IDE工具会极大的提高高手的工作效率,但也会让入门者变得白痴。
所以就像对框架的整合进行一下研究,自己动手来搭。当然我觉得也没有必要完全抛弃IDE,合理的使用还是不错的。
我首先想研究的就是集成所需要的jar包,用MyEclipse集成,会拷贝很多jar包在lib下面,就算不是全部选项都选上,拷贝的jar包数目也不小,大小就更不用说了。以下就说说我的一点心得,考虑和测试还不周全,之后还会完善
1)数据库的Driver可定不用说了,我用的数据库是SQL Server 2000
msbase.jar
mssqlserver.jar
msutil.jar
2)jsf——jsf-1_2_05.zip
jsf-api.jar
jsf-impl.jar
下载地址:https://javaserverfaces.dev.java.net/download.html
还会用到jstl
jstl-1.2.jar
下载地址:https://maven-repository.dev.java.net/nonav/repository/
当然要想和Spring集成还需要——jsf-spring-4.0.3.zip
jsf-spring.jar
下载地址:http://sourceforge.net/project/showfiles.php?group_id=107519
如果用MyEclipse添加JSF之后,会发现有个j2ee的包,这个包在GlassFish的安装路径下面有,不过好像不需要这么麻烦。
我添加了一个servlet-api.jar肯能还会有其他的,这些在下载的spring的压缩包下的/lib/j2ee里面包含了。
3)Spring——spring-framework-2.0.7-with-dependencies.zip
下载地址:http://www.springframework.org/download
Spring的各个模块都有独立的包,也有一个整合好的spring.jar在/dist下面。如果懒得选用这个就行了。
spring带的log4j-1.2.14.jar比hibernate的带的log4j新一些,我用的是spring的。
再有就是/jakarta-commons下面的包。很多包都会被spring 和 hibernate引用到,而且这些包中的类本身还是很有用处的工具类,建议都拷贝过来.commons-attributes-compiler.jar和commons-attributes-api.jar如果没有配置junit或者ant应该用不着的。
antlr-2.7.6.jar,可以在Spring的包中找到,如果没有会有以下错误:
java.lang.NoClassDefFoundError: antlr/ANTLRException
最后还要有cglib-nodep-2.1.3.jar要不会有类似下面的错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
Caused by:
java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
4)hibernate——hibernate-3.2.5.ga.zip
下载地址:http://www.hibernate.org/6.html
在压缩包的根目录下面找到hibernate3.jar,hibernate的全部功能应该就有了。
因为hibernate的配置文件使用dom解析的,所以还要有dom4j.jar,这个是必须的.
hibernate里面还引用到了jta.jar里面的类,所以还要包扩这个包,要不会有下面的错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
Caused by:
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
在hibernate的说明文件中,认为如果没有设置其他的具有缓存功能的包,那要求有ehcache-1.2.3.jar。
还有两个必须的包commons-collections-2.1.1.jar 和commons-logging-1.0.4.jar,因为在spring的/jakarta-commons中都包括了,就不用在拷贝一次,而且spring的还新一些。
暂时就这么多了,如果还有什么以后再补充。