这可能是一个重复的问题。已经发布的问题的解决方案并不能帮助我解决问题。这就是我重新发布的原因
我有两个Java项目。比如1.ibz和2.Maileribz是一个web应用程序,Mailer包含一些java类。我需要mailer中的一些类才能从ibz访问。尝试了以下步骤
右键单击ibz项目>属性>Java构建路径>项目>添加>选定的Mailer项目>确定>确定
但当我试图启动服务器时,它显示以下异常
严重:部署过程中出现严重错误:java.lang.NoClassDefFoundError:Lcom/ibz/mailer/MailClass;位于java.lang.Class.getDeclaredFields0(本机方法)位于java.lang.Class.privateGetDeclaredFields(Class.java:2499)位于java.lang.Class.getDeclaredFields(Class.java:1811)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.collectAnnotatedFields(ManagedBeanConfig Handler.java:242)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.getBeanInfo(ManagedBeanConfig Handler.java:151)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.process(ManagedBeanConfig Handler.java:137)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.push(ManagedBeanConfig Handler.java:123)网址:com.sun.faces.application.annotation.AnnotationManager.applyConfigAnnotations(AnnotationManager.java:234)网址:com.sun.faces.config.producter.AbstractConfigProcessor.productAnnotations(AbstractConfig processor.java:402)网址:com.sun.faces.config.produle.ManagedBeanConfigProcessor.produle(ManagedBeanConfigProcesser.java:244)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.ValidatorConfigProcessor.produle(ValidatorConfigProcessor.java:120)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.producter.ConverterConfigProcessor.produle(ConverterConfigProcesser.java:126)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.ComponentConfigProcessor.produce(ComponentConfigProcessor.java:117)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.ApplicationConfigProcessor.produce(ApplicationConfigProcessor.java:344)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.producter.LifecycleConfigProcessor.produle(LifecycleCoonfigProcessor.java:116)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.FactoryConfigProcessor.produle(FactoryConfigProcessor.java:239)位于com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:435)位于com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:221)网址:org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4770)网址:org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)网址:org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)网址:org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)网址:org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)位于java.util.concurrent.FFutureTask.run(FutureTask.java:262)位于java.util.concurrent.ThreadPoolExecutiator.runWorker(ThreadPoolExecutiator.java:1145)位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)在java.lang.Thread.run(线程.java:745)引起原因:java.lang.ClassNotFoundException:com.ibz.mailer.MailClass网址:org.apache.catalina.loarder.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1295)网址:org.apache.catalina.loarder.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1147)…还有332015年7月6日下午12:35:38 org.apache.catalina.core.StandardContext listenerStart严重:将上下文初始化事件发送到类com.sun.faces.config.ConfigureListener的侦听器实例时发生异常java.lang.RuntimeException:java.lang.NoClassDefFoundError:Lcom/ibz/mailer/MailClass;位于com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:280)网址:org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4770)网址:org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)网址:org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)网址:org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)网址:org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)位于java.util.concurrent.FFutureTask.run(FutureTask.java:262)位于java.util.concurrent.ThreadPoolExecutiator.runWorker(ThreadPoolExecutiator.java:1145)位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)在java.lang.Thread.run(线程.java:745)引起原因:java.lang.NoClassDefFoundError:Lcom/ibz/mailer/MailClass;位于java.lang.Class.getDeclaredFields0(本机方法)位于java.lang.Class.privateGetDeclaredFields(Class.java:2499)位于java.lang.Class.getDeclaredFields(Class.java:1811)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.collectAnnotatedFields(ManagedBeanConfig Handler.java:242)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.getBeanInfo(ManagedBeanConfig Handler.java:151)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.process(ManagedBeanConfig Handler.java:137)网址:com.sun.faces.application.annotation.ManagedBeanConfigHandler.push(ManagedBeanConfig Handler.java:123)网址:com.sun.faces.application.annotation.AnnotationManager.applyConfigAnnotations(AnnotationManager.java:234)网址:com.sun.faces.config.producter.AbstractConfigProcessor.productAnnotations(AbstractConfig processor.java:402)网址:com.sun.faces.config.produle.ManagedBeanConfigProcessor.produle(ManagedBeanConfigProcesser.java:244)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.ValidatorConfigProcessor.produle(ValidatorConfigProcessor.java:120)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.producter.ConverterConfigProcessor.produle(ConverterConfigProcesser.java:126)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.ComponentConfigProcessor.produce(ComponentConfigProcessor.java:117)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.ApplicationConfigProcessor.produce(ApplicationConfigProcessor.java:344)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.producter.LifecycleConfigProcessor.produle(LifecycleCoonfigProcessor.java:116)网址:com.sun.faces.config.produle.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:152)网址:com.sun.faces.config.product.FactoryConfigProcessor.produle(FactoryConfigProcessor.java:239)位于com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:435)位于com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:221)…还有9个引起原因:java.lang.ClassNotFoundException:com.ibz.mailer.MailClass网址:org.apache.catalina.loarder.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1295)网址:org.apache.catalina.loarder.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1147)…还有332015年7月6日下午12:35:38 org.apache.catalina.core.StandardContext startInternal严重:错误listenerStart2015年7月6日下午12:35:38 org.apache.catalina.core.StandardContext startInternal严重:由于以前的错误,上下文[/ibzerp]启动失败2015年7月6日下午12:35:38 org.apache.catalina.core.ApplicationContext日志信息:关闭Spring根WebApplicationContext2015年7月6日下午12:35:38 org.springframework.web.context.support.XmlWebApplicationContext doClose信息:关闭根WebApplicationContext:启动日期[2015年7月6日星期一12:35:32 IST];上下文层次结构的根2015年7月6日下午12:35:38 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc警告:web应用程序[ibzerp]注册了JDBC驱动程序[com.mysql.JDBC.driver],但在web应用程序停止时未能注销它。为了防止内存泄漏,JDBC驱动程序已被强制注销。2015年7月6日下午12:35:38 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads警告:web应用程序[ibzerp]似乎已启动名为[放弃连接清理线程]的线程,但未能停止该线程。这很可能会造成内存泄漏。线程的堆栈跟踪:java.lang.Object.wait(本机方法)java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)com.mysql.jdbc.AdvancedConnectionCleanupThread.run(废弃连接清洁线程.java:41)2015年7月6日下午12:35:39 org.apache.coyote.AbstractProtocol开始信息:正在启动ProtocolHandler["http-nio-8080"]2015年7月6日下午12:35:39 org.apache.coyote.AbstractProtocol开始信息:正在启动ProtocolHandler["ajp-nio-8009"]2015年7月6日下午12:35:39 org.apache.catalina.startup.catalina启动信息:服务器在10391毫秒内启动
其他信息
- Eclipse LSR 1(4.4.1)
- Tomcat 8.0
有人知道我做错了什么/错过了什么吗?
我想你说的是Eclipse,对吧?您应该提到这一点,因为还有很多其他Java IDE。
右键单击您的ibz项目/属性/部署程序集,然后单击"添加"。选择"项目",然后单击"下一步"。然后选择项目Mailer并单击"完成"。Web部署程序集列表中应该有一个新条目,其来源为:Mailer,部署路径为:WEB-INF/lib/Mailer.jar
。然后单击"确定"关闭属性窗口并重新启动servlet容器。