简体   繁体   English

java.lang.ClassNotFoundException:org.apache.commons.lang.builder.ToStringBuilder

[英]java.lang.ClassNotFoundException: org.apache.commons.lang.builder.ToStringBuilder

I have the next code: 我有下一个代码:

File root = new File("./build/classes");
URLClassLoader classLoader = URLClassLoader.newInstance(new URL[] { root.toURI().toURL() });

Class<?> loadedClass = Class.forName("events.Source", true,classLoader);



// JSON --> Java "Get the actual type"
Type listType = new DefaultParameterizedType(ArrayList.class, loadedClass);


Gson gson = new Gson();

ArrayList<loadedClass> resourcesList = gson.fromJson(jsonString, listType);

When I run the program it shows the error java.lang.ClassNotFoundException: org.apache.commons.lang.builder.ToStringBuilder I have the commons-lang3-3.4.jar file in my WEB-INF --> lib directory, I don't know why it is showing this error when I call this statement: 当我运行程序时,它显示错误java.lang.ClassNotFoundException:org.apache.commons.lang.builder.ToStringBuilder我的WEB-INF中commons-lang3-3.4.jar文件-> lib目录,我没有当我调用此语句时,不知道为什么会显示此错误:

System.out.println("Sending" + resourcesList.get(i).toString());

The console output is: 控制台输出为:

jun 11, 2015 11:31:32 AM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
GRAVE: The exception contained within MappableContainerException could not     be mapped to a response, re-throwing to the HTTP container
java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/ToStringBuilder
at eventos.Posicion.toString(Unknown Source)
at eventos.ParserFromFile.parsearListaRecursosDesdeFichero(ParserFromFile.java:132)
at eventos.Analisis.faseDos(Analisis.java:126)
at resources.ConfiguracionResource.addObjetoJSON(ConfiguracionResource.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:      org.apache.commons.lang.builder.ToStringBuilder
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 45 more

jun 11, 2015 11:31:32 AM org.apache.catalina.core.StandardWrapperValve invoke
 GRAVE: El Servlet.service() para el servlet [Jersey REST Service] en el                  contexto con ruta [/EasyCEP] lanzó la excepción [java.lang.NoClassDefFoundError:     org/apache/commons/lang/builder/ToStringBuilder] con causa raíz
 java.lang.ClassNotFoundException: org.apache.commons.lang.builder.ToStringBuilder
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.net.FactoryURLClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at eventos.Posicion.toString(Unknown Source)
at eventos.ParserFromFile.parsearListaRecursosDesdeFichero(ParserFromFile.java:132)
at eventos.Analisis.faseDos(Analisis.java:126)
at resources.ConfiguracionResource.addObjetoJSON(ConfiguracionResource.java:213)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at    com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

From the API it seems that in 3.3 version you should import org.apache.commons. 从API看来,在3.3版本中,您应该导入org.apache.commons。 lang3 .builder.ToStringBuilder and not org.apache.commons. lang3 .builder.ToStringBuilder而不是org.apache.commons。 lang .builder.ToStringBuilder lang .builder.ToStringBuilder

So i'm guessing you compile with a previous version (2?) of commons-lang and use a newer in your web server. 因此,我猜测您使用commons-lang的早期版本(2?)进行编译,并在您的Web服务器中使用较新的版本。

https://commons.apache.org/proper/commons-lang/javadocs/api-2.3/ https://commons.apache.org/proper/commons-lang/javadocs/api-2.3/

https://commons.apache.org/proper/commons-lang/javadocs/api-3.3/ https://commons.apache.org/proper/commons-lang/javadocs/api-3.3/

// We change the classpath, adding a new jar to the  ClassLoader.(org.apache.commons.lang.builder.ToStringBuilder)
    try {
        // We get the ClassLoader and their method addURL()
        URLClassLoader classLoader = ((URLClassLoader) ClassLoader
                .getSystemClassLoader());
        Method metodoAdd = URLClassLoader.class.getDeclaredMethod("addURL",
                new Class[] { URL.class });
        metodoAdd.setAccessible(true);

        // The URL of the jar we want to add
        URL url = new URL(
                "file:///C:/Users/****/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/*****/WEB-INF/lib/commons-lang-2.6.jar");

        // the method addURL is invoked passing that jar´s url 
        metodoAdd.invoke(classLoader, new Object[] { url });
    } catch (Exception e) {
        e.printStackTrace();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 org.apache.commons.lang.SerializationException:java.lang.ClassNotFoundException - org.apache.commons.lang.SerializationException: java.lang.ClassNotFoundException 引起:java.lang.ClassNotFoundException:org.apache.commons.lang3.builder.EqualsBuilder - Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.builder.EqualsBuilder java.lang.ClassNotFoundException:org.apache.commons.dbcp.BasicDataSource - java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource java.lang.ClassNotFoundException:org.apache.commons.collections4.ListValuedMap - java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap java.lang.ClassNotFoundException:org.apache.commons.fileupload.FileItemFactory - java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory java.lang.ClassNotFoundException:org.apache.commons.dbcp2.datasources - java.lang.ClassNotFoundException: org.apache.commons.dbcp2.datasources java.lang.ClassNotFoundException:org.apache.commons.logging.LogFactory - java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory java.lang.ClassNotFoundException:org.apache.commons.text.WordUtils - java.lang.ClassNotFoundException: org.apache.commons.text.WordUtils java.lang.ClassNotFoundException:org.apache.commons.lang.exception.NestableRuntimeException - java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException java.lang.ClassNotFoundException:来自 BaseClassLoader 的 org.apache.commons.lang.StringUtils - java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils from BaseClassLoader
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM