我有两个Eclipse项目,项目A和B。项目A是在Eclipse中的Tomcat上运行的JavaEE Web应用程序。项目B具有一些独立的应用程序代码。我已经将项目B作为项目依赖项添加到项目A的构建路径和Tomcat的类路径(作为用户条目)。
项目A和项目B都有apache commons-lang-2.6.jar的单独副本,该副本包含StringUtils类。当我运行Tomcat服务器时,一切正常启动。发生请求时,该请求由项目A中的Servlet处理(导入并使用StringUtils)。然后,它在项目B中调用代码,该项目也使用StringUtils。但是,项目B中的代码给出以下错误:
SEVERE: Servlet.service() for servlet [***Servlet] in context with path [/***] threw exception
[Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
显然,已加载StringUtils类供Servlet使用。
1)为什么运行时环境不能找到/使用已经加载的StringUtils执行Project B代码?2)如何解决此问题,以便按需处理依赖关系?
该Java Build Path
控制编译类路径的时候,但你需要使用还配置部署Deployment Assembly
您的属性页Dynamic Web Project
。毕竟,您可能已经添加了一个API jar来编译您的项目,当最终部署它时,它可以作为服务器运行时的一部分使用;或者,例如,您必须使用另一个必须打包为jar的项目,将其打包到您的Web应用程序中要在运行时使用的WEB-INF / lib文件夹。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句