zoukankan      html  css  js  c++  java
  • eclipse部署时候不拷jar包到web-inf下面的lib目录解决办法

            前段时间在做项目的时候,用eclipse构建的maven工程部署到tomcat下面去时,发现tomcat的web-inf下面的lib目录是空的,当时弄了好长时间,最后实在没辙了,就手动把所有的依赖拷到web-inf的lib下面去,但是每次重新部署时,eclipse自动部署又将lib目录清空,当时那叫一个郁闷,后来我看了下别人的classpath文件,发现我的classpath跟别人的不同点 

    图1: 

    图2: 



    发现在加了上述attributes;标签后,能正常的部署项目,并且tomcat lib下面也有所需的jar了。 



           最近,有人问为什么我的jdbc驱动能在main方法里正常访问数据库,当我部署到tomcat下面时候,老是报ClassNotFoundException,提示找不到驱动类,远程连了一下,发现他的tomcat web-inf下面的没有mysql驱动包,但是他在工程里却是以exteneral jar的形式添加到了classpath下面,当部署时候tomcat下面却没有jar,当时第一感觉是classpath出问题了,倒腾了好长时间,最后终于解决了,先把解决方案详述如下(注:本人用的eclipse版本是eclipse jee 3.7(indigo),tomcat 6.0.29): 





     

    eclipse配置的tomcat默认发布项目不会部署到tomcat的安装目录去,而是在你的workspace目录下面的.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebapps这个文件夹下,这也就是为什么有人会问为什么我明明项目部署成功了,可是我去tomcat下的webapp下面却没有我刚刚发布的项目,其实休该一下配置,当然,在改之前,你的先将tomcat下面自己部署的项目删除,(tomcat自带的几个doc,root之类的不用删),双击server下的tomcat,会弹出tomcat的配置,如上图,在此,我们选择第二项 

     

     

    将wtpwebapps改为tomcat默认的webapps,保存,这样当你在部署项目的时候项目就会自动部署到tomcat安装目录下的webapps下面去了,现在回到发布项目时候tomcat web-inf lib目录为空的情况,右键点击工程,属性(properties),选择deployment assembly选项,单击add按钮,如下图: 
     
    在弹出的对话框选择java build path entries 

    next后会出现你加的external jar包 

     
    finish完成以后在启动tomcat,去webapp下面验证看看jar包是否随工程一起部署。 

  • 相关阅读:
    Facebook的体系结构分析---外文转载
    简易的IOS位置定位服务
    【简易版】IOS仿periscope自制狂赞飘桃心
    The Linux Programming Interface
    freeswitch嵌入lua脚本
    Epoll Tutorial – epoll In 3 Easy Steps!
    基于freeswitch的webrtc与sip终端呼叫
    buildroot添加第三方库
    rfc
    TCP/UDP Server-Client implementation in C
  • 原文地址:https://www.cnblogs.com/vaer/p/4349714.html
Copyright © 2011-2022 走看看