我在Tomcat 7上开发webapp.在我的本地版本的Tomcat 上一切正常,但是当我在生产服务器上部署它时,它会抛出这个异常.
java.lang.VerifyError: (class: org/apache/commons/logging/impl/Log4JLogger, method: fatal signature: (Ljava/lang/Object;Ljava/lang/Throwable;)V) Incompatible object argument for function call
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2595)
at java.lang.Class.getConstructor0(Class.java:2895)
at java.lang.Class.getConstructor(Class.java:1731)
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.apache.fop.apps.FopFactory.<clinit>(FopFactory.java:68)
at cz.soma.tomcat.generator.DokumentaceUtils.createPdfDocument(DokumentaceUtils.java:818)
at cz.soma.tomcat.generator.FileFactory.createPdfDocument(FileFactory.java:58)
at cz.soma.tomcat.generator.Generator.doPost(Generator.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
Run Code Online (Sandbox Code Playgroud)
当我尝试FopFactory.newInstance();(来自Apache FOP 1.0)时抛出错误.之后,它试图LogFactory.getLog(FopFactory.class);.它logClass.getConstructor(logConstructorSignature);被称为,其中logConstructorSignature包含一个String.class.(至少在我的本地机器上)
try …Run Code Online (Sandbox Code Playgroud) 我有第三方jar(我无法改变)使用java.beans.Introspector,java.beans.BeanInfo和java.beans.PropertyDescriptor.
如何在我的Android应用程序中使用该jar?
它无法Introspector从第3方jar 加载类(使用):
WARN/dalvikvm(780): VFY: unable to resolve static method 6325: Ljava/beans/Introspector;.getBeanInfo (Ljava/lang/Class;)Ljava/beans/BeanInfo;
WARN/dalvikvm(780): VFY: unable to resolve exception class 962 (Ljava/beans/IntrospectionException;)
WARN/dalvikvm(780): Verifier rejected class Lorg/thirdpartyjar/SomeClass;
Run Code Online (Sandbox Code Playgroud) org.apache.commons.beanutils.PropertyUtils在Android上有一个方便的花花公子吗?
我似乎无法使用Bean utils在我的Android应用程序,由于对一些依赖PropertyDescriptor,和IndexedPropertyDescriptor.所以我想知道是否有其他选择?
基本上我想做的就是使用一个方法名称作为字符串"someMethod"并将其输入setMethod(anObject, "someMethod", value),就像PropertyUtils它一样; 但不必诉诸于反思的恶作剧......
或者我的双手并列,我需要使用反射?
当我运行应用程序时它会获得异常
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.hibernate.dialect.Dialect.<clinit>(Dialect.java:58)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 1 more
Run Code Online (Sandbox Code Playgroud)
我已将所有jar文件放在lib文件夹中.我不知道如何解决这个问题,我的错误在哪里.