在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ java 發(fā)布到服務(wù)器jar包找不到

java 發(fā)布到服務(wù)器jar包找不到

如題,項目再本地跑沒什么問題,一部署到服務(wù)器,一個類找不到報錯

root cause

        <pre>java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Hex
com.mal.util.code.MD5Utils.md5Hex(MD5Utils.java:105)
com.mal.util.code.MD5Utils.verify(MD5Utils.java:95)
com.mal.service.impl.UserBaseServiceImpl.login(UserBaseServiceImpl.java:40)
com.mal.service.impl.UserBaseServiceImpl.login(UserBaseServiceImpl.java:51)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
com.sun.proxy.$Proxy22.login(Unknown Source)
com.alibaba.dubbo.common.bytecode.Wrapper2.invokeMethod(Wrapper2.java)
com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)
com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)
com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)
com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)
com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)
com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
    

clipboard.png
我在controller的一個方法里直接輸出 Hex.class.getProtectionDomain().getCodeSource().getLocation()
按照給我的路徑 file:/usr/local/tomcat/tomcat8083/webapps/ROOT/WEB-INF/lib/commons-codec-1.9.jar
把這個jar下載到本地,解壓,有這個類...

clipboard.png

我去搜也能再服務(wù)器的文件夾上找到的,這個時怎么個情況?

回答
編輯回答
怣人

=========================正確答案====================================
通過找到正確的service,發(fā)現(xiàn)solrj導(dǎo)致的jar包沖突,另:solrj可能會導(dǎo)致很多的jar包沖突,得留意

2018年9月1日 16:55
編輯回答
孤客

NoClassDefFoundError 與 ClassNotFoundException是不一樣的,NoClassDefFoundError指的是當(dāng)前ClassLoader無法加載這個類,與ClassNotFoundException是物理上沒有這個文件(無論是.class還是jar中的.class)不一樣,所以這里需要從運行時來分析。比如ClassLoader是否加載了本classpath。是否存在沖突等方向來考慮。

2018年1月19日 02:37
編輯回答
敢試

同意樓上,順便說下按照個人經(jīng)驗,這種情況多半是包沖突導(dǎo)致的,推薦先從這個角度排查看看

2017年6月27日 11:45