Liferay Portal安装在WAS下后,启动时出现下面的异常:
[10-11-18 15:25:05:171 CST] 0000000a SystemOut O 15:25:05,171 ERROR [MainServlet:162] com.liferay.portal.kernel.events.ActionException: com.liferay.portal.verify.VerifyException: java.lang.reflect.UndeclaredThrowableException
com.liferay.portal.kernel.events.ActionException: com.liferay.portal.verify.VerifyException: java.lang.reflect.UndeclaredThrowableException
at com.liferay.portal.events.StartupAction.run(StartupAction.java:81)
at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:154)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:325)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:165)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1588)
at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:98)
at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:936)
at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:857)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:538)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:360)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:292)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:99)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:167)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:722)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:607)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1162)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1313)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:611)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:938)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:740)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2092)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:437)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:122)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:380)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:105)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:928)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
Caused by: com.liferay.portal.verify.VerifyException: java.lang.reflect.UndeclaredThrowableException
at com.liferay.portal.verify.VerifyJournal.verify(VerifyJournal.java:62)
at com.liferay.portal.verify.VerifyProcess.verify(VerifyProcess.java:53)
at com.liferay.portal.verify.VerifyProcessSuite.verify(VerifyProcessSuite.java:52)
at com.liferay.portal.events.StartupAction.doRun(StartupAction.java:274)
at com.liferay.portal.events.StartupAction.run(StartupAction.java:75)
... 30 more
Caused by: java.lang.reflect.UndeclaredThrowableException
at $Proxy259.getArticles(Unknown Source)
at com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil.getArticles(JournalArticleLocalServiceUtil.java:562)
at com.liferay.portal.verify.VerifyJournal.verifyJournal(VerifyJournal.java:215)
at com.liferay.portal.verify.VerifyJournal.verify(VerifyJournal.java:59)
在Portal应用在Tomcat下启动完全正常,查不到异常的原因。因为动态代理没有把底层的异常抛出来,只好跟踪代码,加入调试信息,发现是一个Version的类有冲突,Liferay本身有一个Version类,我们自己又加了一个Version类,包路径不一样,后加的Version类包路径为根,class文件放到了classes的下面。
删除这个Version类之后,就正常了。或者把class文件移动jar包中也可以。
分享到:
相关推荐
具体来说,`unthrow`方法接收一个`Runnable`对象,这个对象通常代表Lambda表达式,然后在运行时捕获任何可能抛出的检查异常,并包装成`UndeclaredThrowableException`(一个未检查异常)再次抛出。这样,即使Lambda...
在使用Java动态代理时出现了一个很棘手的问题,实现类里抛出了一个自定义异常,但外面捕获不到。 虽然使用 printStack 可以输出调试信息,但通过 getMessage 获取不到提示,因为项目需求是捕捉到同一种自定义异常...
这意味着 `Hashtable` 在多线程环境中可以直接使用,而 `HashMap` 如果要在多线程环境下使用,需要额外的同步措施。 - **null key 和 null value** 的处理: `HashMap` 允许一个 null key 和任意数量的 null values。...
这些异常不需要捕获,但在程序设计时应尽可能避免触发这些异常,以提高程序的健壮性。 以上是对JAVA程序员面试中常见的32个要点的详细解析,希望对大家有所帮助。在准备面试的过程中,除了掌握这些基本概念外,还...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
在 Java 语言中,Runtime Exception 是指在程序运行时抛出的异常。常见的 Runtime Exception 有 ArithmeticException、ArrayStoreException、BufferOverflowException、BufferUnderflowException、...
import java.lang.reflect.UndeclaredThrowableException; import java.math.BigInteger; import java.security.GeneralSecurityException; import java.util.Date; public class TOTP { // 共享密钥 private ...