最近开发的一套应用程序在部署运行的时候总是出现如下的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org.springframework.core.CollectionFactory$JdkCollectionFactory
at java.lang.Class.initializeClass(libgcj.so.7rh)
at org.springframework.core.CollectionFactory.createLinkedSetIfPossible(CollectionFactory.java:91)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.<init>(DefaultSingletonBeanRegistry.java:85)
at org.springframework.beans.factory.support.AbstractBeanFactory.<init>(AbstractBeanFactory.java:142)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:135)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>(AbstractAutowireCapableBeanFactory.java:146)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.<init>(DefaultListableBeanFactory.java:99)
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:144)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:99)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:389)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:324)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
Caused by: java.lang.ClassNotFoundException:
java.util.concurrent.ConcurrentHashMap not found in gnu.gcj.runtime.SystemClassLoader{urls=[...], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.Class.forName(libgcj.so.7rh)
at java.lang.Class.initializeClass(libgcj.so.7rh)
...14 more
本来在测试服务器上运行的非常好,从来没有出现过如此问题.而且什么都配置好了,而且也装好了,可就是运行不起来。后来,无意中敲了下java -version,发现默认是JDK是1.4的,然后再看红色的部分就明白了.JDK5中才有线程池的引入,在1.4中是没有的.虽然服务器上安装了JDK5,但系统却是使用默认自带的JDK,所以就出现了如上的问题,然后用JDK5启动后一切问题解决.
因此,我们在发现ClassNotFoundException的时候,不一定是classpath没有设置或设置错误,关键是要看是出现什么样的问题.因为我在网上一baidu,只要是这个错误的,回答几乎无一例外,都是"你的classpath"没有设置,可见这个回答也太偏颇了点!另外,虽然JDK6也已经出来了,但目前还是有不少的系统在使用JDK1.4,而且有些LINUX系统也自带的版本比较低.所以,我们在进行这样的系统部署时就要格外的注意了!
分享到:
相关推荐
注意,此例是针对weblogic8的,由于weblogic.jar太大,故把此包没加入进来,编译时请自行加入。因本人现在工作中需要到ejb2.0,考虑到现在ejb2.0资料匮乏,故...由于weblogic不支持jdk1.4以上版本,请使用jdk1.4编译
在 Spring Boot 2.0 中,配置属性发生了变化。例如: * 使用 application.properties 文件来配置应用程序的参数 * 使用 @ConfigurationProperties 注解来注入配置参数 * 使用 Spring Boot 的自动配置机制来简化配置...
目标是让 Spring Framework5 在 JDK9 的 GA 之后正确运行。 Spring5 版本的候选版本已经在 classpath 和 modulepath 上支持 Java9 了。 GA版本中你可以期待良好的 JDK9 支持。 3. 使用 JDK8 特性 获取免费Spring ...
"jdk14"表明此版本的AspectWerkz是为Java Development Kit 1.4设计的,这意味着它可以在这个版本的Java环境中运行。"2.0"是该库的版本号,通常每个版本都会有性能改进、新功能和错误修复。"jar.zip包下载"说明这个...
JdbcTemplate支持JDBC 2.0及以上版本的驱动,并能在JDK 1.4及更高版本的环境中运行。 2. **NamedParameterJdbcTemplate**: 这是对JdbcTemplate的扩展,它引入了命名参数的概念,替代了传统的占位符"?",使得SQL...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...
2. **性能优化**:通过对底层实现的改进,AspectWerkz 2.0在运行时的性能得到了显著提升,减少了处理切面带来的额外开销。 3. **增强的织入机制**:织入是AOP的关键部分,AspectWerkz 2.0提供了静态织入和动态织入...
环境:Windows XP Professional SP3, JDK 1.6, Tomcat 6.0, jQuery 1.4, Dojo 2.0, MyEclipse 5.5 使用步骤: 1、下载解压缩之后,使用IDE导入工程 2、把工程布置到Tomcat上去 3、打开浏览器在地址栏输入:...
此外,AppFuse 2.0 采用了 JDK 1.5,支持 Annotation 和 JSP 2.0,符合 J2EE 1.4 规范,并引入了 JPA(Java Persistence API)的支持,提供了一种标准的方式来处理对象持久化。 AppFuse 2.0 的新特性还包括: 1. **...
2. **开发环境**:简历中提到了两个项目使用的开发环境,如Win2000、Tomcat、SQLServer和JDK1.4.210,以及WinXP、MySQL和JDK1.4.210。这展示了Java工程师对不同平台和数据库系统的适应性。 3. **Eclipse 3.2**:这...
hibernate-jpa-2.0-api-1.0.1.Final.jar hibernate-validator-4.0.2.GA.jar httpclient-4.1.2.jar httpcore-4.1.2.jar jackson-core-asl-1.7.2.jar jackson-core-asl-1.9.9.jar jackson-jaxrs-1.7.2.jar jackson-jax...
- JDK版本为1.6,运行服务器为Tomcat 6.0,操作系统为Windows 64位。 2. **Struts框架集成**: - 在Myeclipse中为新项目添加Struts支持,这会自动生成struts-config.xml配置文件,这是Struts框架的核心配置文件,...
2. 在 MyEclipse 中配置 Tomcat:首先安装 MyEclipse10.0,然后在 Window -> preferences -> Java -> Installed JREs 中添加 JDK7,接着在 Window -> preferences -> MyEclipse -> Servers -> Tomcat 中启用并配置 ...
在IT行业中,CXF和Spring的整合是构建企业级Web服务解决方案的重要部分。CXF是一个开源的Java框架,主要用于创建和消费Web服务,而Spring框架则是一个广泛使用的应用框架,提供了一个全面的基础设施来构建Java应用...
10.5.2.5 用Spring 2.0 的@Transactional标注解决事务提交问题(最佳方案) 251 10.5.2.6 使用 HibernateTemplate 实现分页查询 254 10.6 小结 255 10.7 参考资料 255 10.7.1 MyEclipse生成的Spring+Hibernate无法...
【标题】:Eclipse下基于SSH的MVC框架搭建指南 【描述】:本文档详细介绍了如何在Eclipse环境中利用Spring、Struts2、Hibernate这三大流行框架搭建一个MVC结构的Web应用,并使用HSQLDB作为轻量级数据库。 【标签】...
向下滚动选择Spring Web Flow 2.0 JSF,MyEclipse会自动添加相关的jar包。最后,选择配置文件的路径,例如WebRoot/WEB-INF,然后点击Finish。 **3. 配置Spring2.5** Spring的配置文件`applicationContext.xml`通常...
例如,对于PostgreSQL 7.3和JDK 1.4,需要将`pg73jdbc3.jar`复制到全局类加载器路径。 - **上下文类路径**:将Hibernate JAR库(`hibernate2.jar`)放置于上下文类路径下,同时还需要放置应用的其他类文件。此外,...
geronimo-ws-metadata_2.0_spec-1.1.3.jar h2-1.3.169.jar isorelax-20030108.jar jaxb-api-2.2.6.jar jaxb-impl-2.2.5.jar jaxb-xjc-2.2.5.jar jettison-1.3.2.jar jetty-continuation-7.5.4.v20111024.jar jetty-...
9. **NIO.2(New I/O 2.0)**:虽然Java 1.4引入了NIO(非阻塞I/O),但1.5进一步完善了这一部分,提供了更丰富的文件系统操作API,包括文件和目录的异步操作,以及文件属性和文件通道的增强。 10. **构造器注入**...