无法初始化类weblogic.utils.LocatorUtilities $ Locator

时间:2019-02-25 16:26:23

标签: java liferay weblogic jndi

我正在尝试从Liferay到部署在EJB中的Weblogic Server 12.2.1.3.0进行远程呼叫。

我正在使用wlthint3client.jarJava jdk1.8.0_172Liferay DXP, 但是会引发下一个异常:

18:11:31,101 ERROR [[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'][DispatcherPortlet:573] Could not complete request
javax.portlet.PortletException: Error occured during request processing: Could not initialize class weblogic.utils.LocatorUtilities$Locator
    at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:692)
    at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:533)
    at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:473)
    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
    at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletExceptionAdapter.service(ServletExceptionAdapter.java:76)
    at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
    at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:50)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:191)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:191)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:99)

Caused by: java.lang.NoClassDefFoundError: Could not initialize class weblogic.utils.LocatorUtilities$Locator
    at weblogic.utils.LocatorUtilities.getService(LocatorUtilities.java:37)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:124)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
    at javax.naming.InitialContext.init(InitialContext.java:244)
    at javax.naming.InitialContext.<init>(InitialContext.java:216)
    at mx.com.procesar.esar.portal.imprimecurp.controller.impl.ImprimeCurpControllerImpl.executeImprimeCurpResponse(ImprimeCurpControllerImpl.java:169)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

我认为我需要一些依赖,但是我可以弄清楚它们是什么,您对这里发生的事情有任何想法吗?

非常感谢您阅读

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,这是由我的类路径中添加了hk2-locator-2.2.0.jar引起的。 您可以通过确保在hk2-locator之前加载wlthint3client依赖项来解决此问题。

顺便说一下,我不确定您为什么将wlthint3client.jar添加到WAR文件中,因为它已部署在WLS上。 Thinclient旨在在Weblogic容器外部运行,就像Oracle文档描述的那样:

The Thin T3 client can be used in standalone applications, and is also designed for applications running on foreign (non-WebLogic) servers. One common use case is integration with WebLogic JMS destinations.

Oracle WLS documentation

相关问题