Eclipse项目与构建路径

时间:2014-05-23 16:37:25

标签: java eclipse jar buildpath

我正在构建一个包含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目录来解决这个问题,但是如果有其他解决方案的话会很好。

任何建议都表示赞赏。

谢谢,

2 个答案:

答案 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应该可以工作。