我正在构建一个包含spymemcached客户端代码的库。这称为CacheClient。这是一个简单的Java项目。我把spymemcached.jar放到它的lib文件夹中。
以下是它的外观,您也可以看到构建路径设置:
库:CacheClient项目:cacheclient.jar
- LIB
- spymemcached.jar
Java Build Path / Libraries选项卡: spymemcached.jar - CacheClient / lib / spymemcached.jar
我正在做的是我正在构建一个使用此库的简单java Web项目。
WebApp:ServiceWebApp项目:servicewebapp.war
- 的WebContent
- WEB-INF
- LIB
- EMPTY
Java Build Path / Projects选项卡:CacheClient
因此,我的Webapp的构建路径设置为使用CacheClient项目。我将cacheclient.jar复制到tomcat的lib目录中并部署了ServiceWebApp。
当我运行Web应用程序时,它失败了,因为它说我的CacheClient代码正在寻找spymemcached类(ClassNotFoundException)。
我可以通过将spymemcached.jar放入tomcat的lib目录来解决这个问题,但是如果有其他解决方案的话会很好。
任何建议都表示赞赏。
谢谢,
答案 0 :(得分:3)
在您的Web应用程序中提供lib的最简单方法是将lib的jar放到WEB-INF / lib目录中。
如果您不想手动执行此操作,请查看此链接,了解如何实现此操作:Adding 3rd party jars to WEB-INF/lib automatically using Eclipse/Tomcat
答案 1 :(得分:1)
在您的情况下,cacheclient.jar依赖于spymemcached.jar。但是当你构建了cacheclient.jar时,它没有与spymemcached.jar打包在一起。所以只在tomcat / lib文件夹中复制cacheclient.jar是不够的。首先,在tomcat lib文件夹中复制jar文件并不是一个好习惯。
你可以做的就是复制你的罐子里面 servicewebapp.war> WenContent> WEB-INF> lib应该可以工作。