首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebContent目录在tomcat中的部署

WebContent目录在tomcat中的部署
EN

Stack Overflow用户
提问于 2012-03-11 18:34:58
回答 3查看 21K关注 0票数 1

在Eclipse中,创建动态Web项目时的文件夹结构是

代码语言:javascript
复制
[srikanth@hana Sample]$ ls -R
.:
build  src  WebContent

./build:
classes

./build/classes:

./src:

./WebContent:
index.html  META-INF  scripts  WEB-INF

./WebContent/META-INF:
MANIFEST.MF

./WebContent/scripts:
jquery-1.7.1.js

./WebContent/WEB-INF:
lib  web.xml

./WebContent/WEB-INF/lib:

如您所见,有一个WebContent目录,当我从Eclipse工作区复制目录结构并放入Tomcat的webapp目录时,它没有工作。但是,如果我将WebContent目录下的所有目录和文件移到更高的级别,它就能正常工作。

这是应用程序下Tomcat的webapp目录中的文件夹结构:

代码语言:javascript
复制
[srikanth@hana Sample]$ ls -R 
.:
build  index.html  META-INF  scripts  src  WEB-INF

./build:
classes

./build/classes:

./META-INF:
MANIFEST.MF

./scripts:
jquery-1.7.1.js

./src:

./WEB-INF:
lib  web.xml

./WEB-INF/lib:

所以,现在我可以直接去http://localhost:8080/Sample,也可以正确地去index.html

我做错什么了?为什么它不能直接将应用程序从Eclipse复制到tomcat webapp目录呢?为什么我必须更改目录结构?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-11 18:41:33

当我从Eclipse工作区复制目录结构并放入Tomcat的webapp目录时,它没有工作。但是,如果我将WebContent目录下的所有目录和文件移到更高的级别,它就能正常工作

不清楚你在这里是什么意思if I moved all the directories and files under WebContent directory a level above, it worked fine,你说a level above是什么意思。

您应该做的不是手动复制任何内容,而是右键单击项目并选择Export as WAR选项。

这将创建一个名为Project.war的文件,该文件包含正确的文件结构,即WEB-INF等,您应该将其放在tomcat的webapps dir下面。

票数 1
EN

Stack Overflow用户

发布于 2014-09-09 18:40:28

我也遇到了同样的问题./WebContent/index.html没有出现在Eclipse导出的.war中。这发生在我的新Eclipse系统上,因为我用Kepler重新创建了一个从旧系统到露娜Eclipse的新系统的工作项目。

我通过进入Project / Properties / Deployment 修复了这个问题。我发现旧的工作系统有这个规则,而我的新的非工作系统却忽略了这个规则.

代码语言:javascript
复制
Source      = /WebContent
Deploy Path = /

我在新系统中通过按“Add.”来纠正这个问题。加上缺失的规则。

票数 7
EN

Stack Overflow用户

发布于 2012-03-11 18:40:59

Eclipse允许直接将webapp部署到服务器上,而无需自己复制任何内容。它还允许在准备部署到测试或生产服务器时生成可部署的war文件。

打开"Servers“视图,右键单击,然后选择创建一个新服务器。创建后,右键单击服务器并选择将您的web应用程序添加到其中。然后Eclipse会将您的web应用程序部署到服务器上。

您不应该手动复制Eclipse中的任何内容。如果您需要或想要这样做,那么您可能应该使用一些ant脚本来生成正确的部署结构。这个结构在servlet规范中进行了描述。它应该在webapp的根目录下有一个包含以下内容的WEB目录:

  • 类:包含类
  • lib的目录:包含应用程序的所有jar文件的目录依赖于
  • web.xml,lib应用的部署描述符

所有不在web下的其他目录和文件都可以由web容器提供。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9657724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档