我使用Tomcat 8.0.26并在部署期间(执行./startup后)我收到以下异常:
28-Mar-2018 15:07:58.926严重[localhost-startStop-2] org.apache.catalina.core.StandardContext.listenerStart异常 将上下文初始化事件发送到类的侦听器实例 ie.company.web.AppContextListener java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava /郎/类; Ljava /郎/字符串;)Ljava /郎/对象; 在org.hibernate.ejb.Ejb3Configuration。(Ejb3Configuration.java:142) 在org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55) 在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63) 在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) 在ie.company.persistence.PersistenceUtil.resetFactory(PersistenceUtil.java:44) 在ie.company.persistence.PersistenceUtil.createEntityManager(PersistenceUtil.java:37) 在ie.company.persistence.repository.impl.MerchantCategoryRepositoryImpl.findAllMerchantCategories(MerchantCategoryRepositoryImpl.java:38) 在ie.company.persistence.repository.impl.RepositoryImpl.findAllMerchantCategories(RepositoryImpl.java:1204) 在ie.company.web.AppContextListener.initStrutsApplicationContext(AppContextListener.java:113) 在ie.company.web.AppContextListener.contextInitialized(AppContextListener.java:86) 在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) 在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) 在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) 在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:945) 在org.apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.java:1768) at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) 在java.util.concurrent.FutureTask.run(FutureTask.java:262) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:745)
我看过很多关于这个例外的帖子:
java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava /郎/类; Ljava /郎/字符串;)Ljava /郎/ Objec
但没有人对我有意义,因为我在不同的服务器上运行相同的“.war”文件(我在Eclipse的本地系统上运行应用程序也没有任何问题)。目前,该应用程序正在Linux Opensuse上运行,我正在将其迁移到Linux Ubuntu 16.04。我不认为我错过任何库,因为我从当前运行应用程序的旧服务器复制并粘贴了完全Tomcat安装。任何线索?请帮帮我。