我的问题是我有一个Web应用程序构建并部署为JBoss 6的WAR文件。我的servlet无法在我的应用程序中加载类并抛出NoClassDefFoundError错误。NoClassDefFoundError当类在JBoss 6中WAR-WEB-INF/classes文件夹
我确认这个类存在于WAR文件的正确位置。我的所有应用程序类都存在于WEB-INF/classes文件夹中,以及我的servlet类,它可以顺利执行。事实上,看起来这只是一个不在classpath中的类,因为应用程序的其他方面运行良好。
JBoss在JDK 1.6_21上运行,应用程序是使用JDK 1.6_24构建的,这不应该是个问题吗?
此外,这个应用程序在Eclipse中本地运行良好,当我将WAR文件部署到单独的Tomcat 7和Glassfish 3服务器时,他们都发现这个类没有问题。
我不希望任何人立即知道什么是错误的,如果有人看到类似的事情发生之前,那么请分享你的经验,或者如果你有很好的提示或知道好的工具,以真正深入到classpath问题,然后请分享。
它抱怨什么类?更可能的是,JBoss已经在它的系统/共享罐中提供了这个类,并且它与战争中的类相冲突。我没有解决方案,只有我对解决JBoss类加载和隔离问题的同情不是很有趣或很容易。 – 2011-03-31 18:50:46
这是我的班。 JBoss不会打包它,除非他们偷偷溜进我的办公室偷走它,而我正在抓咖啡:) – 2011-03-31 18:56:54