`

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\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps这个文件夹下,这也就是为什么有人会问为什么我明明项目部署成功了,可是我去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包是否随工程一起部署。

  • 大小: 28.5 KB
  • 大小: 44 KB
  • 大小: 38.8 KB
  • 大小: 36.1 KB
  • 大小: 38.1 KB
  • 大小: 21.9 KB
  • 大小: 16.9 KB
  • 大小: 121.6 KB
分享到:
评论
10 楼 bjuth 2014-12-11  
惊天地泣鬼神的一篇超赞博文!!!
9 楼 zytxy777 2014-03-11  
sassds 写道
stormhouse 写道
真感觉脱离了myeclipse后,什么都不会做了,看楼主的解决方案,真是不错啊,谢谢哈

同感啊!

同上啊!
8 楼 xunke515 2014-01-19  
感谢分享,感谢~
7 楼 qq690388648 2013-11-04  
谢楼主了,说的挺详细!
6 楼 a330488020 2012-08-14  
恩人呐 ,终于找到你了
5 楼 jxqiujian2008 2012-07-13  
免费的东西还是有点难度,感谢楼主。
4 楼 jay263677313 2012-06-28  
补充一下,我出现这个问题是由于运行这个命令造成的:mvn eclipse:eclipse,所以一旦eclipse的部署环境调试好后,尽量不要再用mvn eclipse:eclipse了。
3 楼 jay263677313 2012-06-28  
这篇帖子必须顶啊,帮我忙了!非常感谢楼主!O(∩_∩)O哈哈~
2 楼 sassds 2012-06-28  
stormhouse 写道
真感觉脱离了myeclipse后,什么都不会做了,看楼主的解决方案,真是不错啊,谢谢哈

同感啊!
1 楼 stormhouse 2012-06-06  
真感觉脱离了myeclipse后,什么都不会做了,看楼主的解决方案,真是不错啊,谢谢哈

相关推荐

    Eclipse中web-inf和meta-inf文件夹的信息

    ### Eclipse中web-inf和meta-inf文件夹的信息 #### 一、META-INF 文件夹 `META-INF` 文件夹是 Java 应用程序中的一个重要组成部分,它主要用于存放与应用程序相关的元数据信息,例如清单文件(`MANIFEST.MF`)等。...

    lib中的jar lib中的jar包

    - **构建路径**:在IDE如Eclipse、IntelliJ IDEA中,可以将`lib`目录设置为项目的类路径,使得其中的`jar`包被自动引入。 - **命令行执行**:使用`java -cp`或`-classpath`参数指定`jar`包的位置,让JVM知道如何找到...

    RAP打包成War 所需的eclipse jar包,以及demo

    1. **设置项目结构**:确保项目遵循标准的Web应用目录结构,包括`WEB-INF`目录,其中应包含`web.xml`配置文件、`lib`子目录(用于存放jar包)以及`classes`目录(用于存放编译后的Java类)。 2. **添加依赖**:根据...

    springboot编译jar包后无法扫描子jar包中的注解解决方法

    ### Spring Boot 编译 JAR 包后无法扫描子 JAR 包中的注解解决方案 在使用Spring Boot进行项目开发时,我们经常会遇到模块化的需求,即一个大型项目被拆分成多个子模块来提高可维护性和灵活性。这些子模块可能通过...

    在eclipse中配置jar包的相对路径

    在Eclipse中创建Java Web项目时,默认会在项目的`WebContent/WEB-INF/lib`目录下放置所需的JAR包。然而,在某些情况下,可能需要使用相对路径来引用JAR包,以实现更灵活的项目结构管理。 #### 三、配置JAR包的相对...

    帆软报表使用jar包

    2. **添加到项目结构**:将下载的jar包复制到Web项目的`WEB-INF/lib`目录下。这个目录是Java Web应用存放第三方库的标准位置。 3. **配置类路径**:如果你使用的是IDE(如Eclipse、IntelliJ IDEA),IDE会自动识别...

    jar包-JavaWeb所用到的jar包

    - 在Java Web应用中,JAR包通常存储在`WEB-INF/lib`目录下,这些JAR包内的类对Web应用可见,但对外部不可见,提供了一定的封装性。 - `Servlet容器`如Tomcat会自动扫描`lib`目录下的JAR,将其中的类加载到应用程序...

    Eclipse用jstl需要的jar包

    3. 将下载的`jstl.jar`和`standard.jar`复制到`WEB-INF/lib`目录下。 4. 在Eclipse中,右键点击项目,选择“Build Path” -> "Configure Build Path",进入项目构建路径设置。 5. 在"Libraries"选项卡中,点击"Add ...

    将oracle 11的驱动jar包导入到Eclipse

    3. 在 Eclipse 的“Test_Java_Web”项目中,找到“WebContent”目录下的“WEB-INF”目录下的“lib”目录,并将上一步复制的 ojdbc6.jar 复制到 lib 目录下。 需要注意的是,ojdbc6.jar 文件可以在 Oracle 安装目录...

    eclipse可导入的jar包

    这通常在创建一个Dynamic Web Project时由Eclipse自动配置,但如果你需要手动添加,可以将此jar包导入到项目的WEB-INF/lib目录下。 至于其他可能包含的jar包,虽然没有明确列出具体文件名,但根据描述,我们可以...

    tomcat 部署java项目 jar

    - 将JAR文件放入`$CATALINA_HOME/webapps/WEB-INF/lib`目录,适合小型独立应用。 - 创建WAR(Web ARchive)文件,然后将其放在`$CATALINA_HOME/webapps`目录下,Tomcat会自动解压并部署。 4. **`start.sh`脚本** ...

    java web项目打包.war格式

    --|----|--WEB-INF |-----lib |-----classes |-----web.xml |-----*.jsp ``` 其中,META-INF 目录包含了 WAR 文件的元数据,WEB-INF 目录包含了项目的 class 文件、资源文件和配置文件。 部署 WAR 文件 要...

    Java Web项目集成开源报表工具BIRT

    将上一步骤中找到的jar包拷贝到Java Web项目的WebRoot/WEB-INF/lib目录下,这样Java Web项目就可以使用BIRT的功能了。 步骤4:创建report-engine文件夹 在Java Web项目的WebRoot/WEB-INF/目录下新建一个名为report...

    hadoop-eclipse-plugin-2.7.0.jar

    - `lib`:包含插件运行所需的第三方库文件,如Hadoop的相关JAR包。 - `META-INF`:存储插件的元数据信息,如MANIFEST.MF文件,描述了插件的基本信息和依赖。 - `resources`:包含插件的资源文件,如图标、帮助文档...

    Hadoop-eclipse-plugin-2.7.2

    此外,Hadoop-eclipse-plugin-2.7.2提供的资源目录结构清晰,包含了plugin.xml、META-INF、resources、classes和lib等关键文件。其中,plugin.xml是定义插件元数据的文件,包括插件ID、版本、依赖关系等信息;META-...

    jstl-impl-1.2.jar和jstl-api-1.2.jar

    对于传统的Eclipse或IntelliJ IDEA项目,可以直接将这两个jar文件放入WEB-INF/lib目录下。 JSTL的优势在于其提高了代码的可读性和可维护性,使得JSP页面更加清晰,易于理解和测试。此外,由于JSTL遵循Java的编程...

    基于JavaWeb的网上电子城项目

    基于JavaWeb的网上电子城项目 ... - 用到的jar包在WEB-INF/lib目录下,记得添加tomcat的jar包,build path即可 - 修改src/c3p0-config.xml中的数据库账号密码 - 在eclipse中配置好tomcat,run on server即可

    hadoop-eclipse-plugin-1.1.2.jar

    首先将 ${HADOOP_HOME}\src\contrib 下面的 build-contrib.xml 复制到 ${HADOOP_HOME}\src\contrib\eclipse-plugin 下面 然后修改 build-contrib.xml文件 ${basedir}"/> ${root}/../../../"/> 改成 ...

    SSH整合需要的jar包整理

    1. 将jar包放入项目的`WEB-INF/lib`目录下。 2. 右键点击项目 -> Build Path -> Configure Build Path -> Libraries -> Add Jars 或 Add External Jars,选择对应的jar包添加。 3. 确保所有依赖项都被正确解决,没有...

    weblogic.jar/wlclient.jar/wls-api.jar相关jar包

    对于Web应用程序,可以将它们放入WEB-INF/lib目录下,对于Java桌面应用或其他类型的服务,需要将它们加入到应用的classpath中。 总结来说,`weblogic.jar`、`wlclient.jar`和`wls-api.jar`是WebLogic Server的关键...

Global site tag (gtag.js) - Google Analytics