web开发中maven中的依赖需要手动添加到WEB-INF?

huhuint 2015-01-21 06:11:02
本人最近在学习web项目开发,有个困惑。。。
maven项目中有许多依赖,根据这些依赖,下载的jar文件都保存在了.m2/repository里面了,但是添加web程序时,需要在WEB-INF文件夹下手动添加这些jar包吗?因为tomcat不是默认在WEB-INF下寻找jar文件吗?或者有其他的解决办法吗
今天碰见了个问题,总是说某某class没有定义,找不到之类的,在网上查说是路径不对,需要将jar文件添加到WEB-INF下,但是,在我没有添加的情况下,错误就没有了,很是郁闷,不知道问题怎么就解决了
...全文
2584 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
abbqq12 2015-01-26
  • 打赏
  • 举报
回复
引用 8 楼 huhuint 的回复:
我现在WEB-INF下只有web.xml,没有做楼上这些操作,但是结果出奇的好了,也不会保找不到class之类的问题,所以想问下,这是必要的吗?
应该是必须有这个发布的设置的,但不是一定要这样设置,但是如果你在tomcat发布的目录下找不到WEB-INFO/lib找不到jar包的话就需要看一下是不是这个设置的问题。无论你在Eclise看到有没有,在tomcat的发布目录下是一定有jar包的。例如我的工程目录E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\工程名\WEB-INF\lib。你不用配置什么直接把缺失的jar包拷贝过去也可以
benlaten 2015-01-26
  • 打赏
  • 举报
回复
maven只是一个项目的构建工具,你的文件怎么放只是遵守了maven的默认配置而已,但是最终打包后的war肯定是要符合容器和javaee规范的。即 WEB-INF下面必须有 lib 和classes等 不知道楼主是用的maven中的tomcat plugin还是独立的tomcat 如果是maven-tomcat-plugin的话上述规范的文件映射关系不用理会 如果是独立的tomcat必须要符合war包的规范, 至于为什么经常出现class not found,多clean build,这个工具经常莫名其妙。
shenjianox 2015-01-22
  • 打赏
  • 举报
回复
set.xml里指定了本地jar的位置,pox.xml指定了jar的下载地址 web.xml配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <name>es-declare Maven Webapp</name> <url>http://maven.apache.org</url> <build> <finalName>项目名称</finalName> <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF8</encoding> </configuration> </plugin> </plugins> </build> 这样就行了,不用clean install
淡定的峰哥 2015-01-22
  • 打赏
  • 举报
回复
先mvn clean install 然后mvn eclipse:eclipse 就可以 不需要手动加
邹邹wl 2015-01-22
  • 打赏
  • 举报
回复

你使用maven启动的吗,maven启动会依赖本地maven库里面的jar
huhuint 2015-01-22
  • 打赏
  • 举报
回复
引用 3 楼 z345434645 的回复:

你使用maven启动的吗,maven启动会依赖本地maven库里面的jar

maven启动?maven依赖都是有的
huhuint 2015-01-22
  • 打赏
  • 举报
回复
引用 5 楼 shenjianox 的回复:
set.xml里指定了本地jar的位置,pox.xml指定了jar的下载地址 web.xml配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <name>es-declare Maven Webapp</name> <url>http://maven.apache.org</url> <build> <finalName>项目名称</finalName> <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF8</encoding> </configuration> </plugin> </plugins> </build> 这样就行了,不用clean install
你确定是在web.xml里面添加这些内容吗?这样会报错啊,element build is not allowed here
huhuint 2015-01-22
  • 打赏
  • 举报
回复
我现在WEB-INF下只有web.xml,没有做楼上这些操作,但是结果出奇的好了,也不会保找不到class之类的问题,所以想问下,这是必要的吗?
abbqq12 2015-01-22
  • 打赏
  • 举报
回复
右键项目属性-->Deployment Assebly然后看你有没有添加了maven Dependencies 发布,如果没有的话部署的时候他是不会帮你把maven jar包发布到你的tomcat的。没有的话add,然后选发布到WEB-INF/lib上传不了图
abbqq12 2015-01-22
  • 打赏
  • 举报
回复
右键项目属性-->Deployment Assebly然后看你有没有添加了maven Dependencies 发布,如果没有的话部署的时候他是不会帮你把maven jar包发布到你的tomcat的。上传不了图
huhuint 2015-01-21
  • 打赏
  • 举报
回复
引用 1 楼 z345434645 的回复:
不需要,如果需要那样的话MAVEN就没什么用了,网上有些人喜欢瞎扯。
真滴吗?那WEB-INF下面就一个web.xml文件? 而且,我上午也确实碰见class找不到的情况了
邹邹wl 2015-01-21
  • 打赏
  • 举报
回复
不需要,如果需要那样的话MAVEN就没什么用了,网上有些人喜欢瞎扯。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧