外部jar在java项目中工作,但在spring maven项目中得到java.lang

我尝试通过将外部 JAR 添加到现有 Maven 项目中Properties->Java Build Path->Libraries->Add External JARs...。


我在类文件中进行了所有正确的导入,清理了项目以及所有常见的 Maven 清理和安装内容。


该项目运行良好,但是当我调试并到达从外部 JAR 访问类的行时,我收到以下错误:


SEVERE: Servlet.service() for servlet [appServlet] in context with path [/xyzPath] threw exception [Handler dispatch failed; nested exception is 

java.lang.NoClassDefFoundError: somepath] with root cause

java.lang.ClassNotFoundException: somepath

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)

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)

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)


月关宝盒
浏览 118回答 2
2回答

慕容3067478

已尝试清除包含下载的 Maven 依赖项的 .m2 文件夹。Maven 有时不能正确识别 jars,清除缓存文件夹或 . m2 文件夹然后更新 maven 项目可能会解决 jar 错误。

12345678_0001

我找到了解决方案。@fatcook 在他的评论中也解释了该问题的所有可能解决方案。外部 jar 文件可以直接添加到 Java 项目中,但是当涉及到 Maven 项目时,我们需要添加第三方 jar 作为外部依赖项,如下链接中所述。快速解决方案:(用正斜杠纠正) https://www.tutorialspoint.com/maven/maven_external_dependencies.htm或者@fatcook 提供的详细解决方案http://roufid.com/3-ways-to-add-local-jar-to-maven-project/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java