tomcat中的Eclipse WebContent目录部署

tomcat中的Eclipse WebContent目录部署,eclipse,tomcat,web-deployment-project,Eclipse,Tomcat,Web Deployment Project,在Eclipse中,创建动态Web项目时的文件夹结构是 [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.

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

[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的webapps目录时,它不起作用。但是,如果我将WebContent目录下的所有目录和文件移动到一个更高的级别,则效果很好

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

[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 webapps目录?我为什么要这么做 更改目录结构


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

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

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

类:包含类的目录 lib:包含应用程序所依赖的所有jar文件的目录 webapp的部署描述符
WEB容器可以为不在WEB-INF下的所有其他目录和文件提供服务。

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

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

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

类:包含类的目录 lib:包含应用程序所依赖的所有jar文件的目录 webapp的部署描述符 WEB容器可以为不在WEB-INF下的所有其他目录和文件提供服务

当我从Eclipse工作区复制目录结构并放入 Tomcat的webapps目录,它不工作。但是,如果我把所有的 WebContent目录下的目录和文件级别高于 很好

不知道你的意思是什么,如果我把WebContent目录下的所有目录和文件都移到上面一级,它在这里工作得很好,你说的上面一级是什么意思

您应该做的不是手动复制任何内容,而是右键单击项目并选择导出为WAR选项。 这将创建一个名为Project.war的文件,其中包含正确的文件结构,即WEB-INF等,您应该将其放在tomcat的webapps目录下

当我从Eclipse工作区复制目录结构并放入 Tomcat的webapps目录,它不工作。但是,如果我把所有的 WebContent目录下的目录和文件级别高于 很好

不知道你的意思是什么,如果我把WebContent目录下的所有目录和文件都移到上面一级,它在这里工作得很好,你说的上面一级是什么意思

您应该做的不是手动复制任何内容,而是右键单击项目并选择导出为WAR选项。
这将创建一个名为Project.war的文件,其中包含正确的文件结构,即WEB-INF等,您应该将其放在tomcat的webapps目录下

我也遇到了同样的问题,./WebContent/index.html没有出现在Eclipse导出的.war中。这发生在我的新Eclipse系统上,当时我重新创建了一个工作项目,从使用开普勒Eclipse的旧系统到使用Luna Eclipse的新系统

我通过转到Project/Properties/Deployment程序集解决了这个问题。我发现旧的工作系统有这个规则,而我的新的非工作系统缺少这个规则

Source      = /WebContent
Deploy Path = /

我在新系统上按Add。。。添加缺少的规则。

我也遇到了同样的问题,./WebContent/index.html没有出现在Eclipse exported.war中。这发生在我的新Eclipse系统上,当时我用开普勒Eclipse重新创建了一个工作项目,从我的旧系统到使用Luna E的新系统 阴霾

我通过转到Project/Properties/Deployment程序集解决了这个问题。我发现旧的工作系统有这个规则,而我的新的非工作系统缺少这个规则

Source      = /WebContent
Deploy Path = /

我在新系统上按Add。。。并添加缺少的规则。

Q:我做错了什么?A:看来你没能像战争一样出口;问:我做错了什么?A:看来你没能像战争一样出口;哦,非常感谢,我不得不通过右键单击项目创建一个WAR,并使用Tomcat的管理控制台部署了WAR。成功了!但是,我不明白的是,如果我右键单击我向eclipse添加tomcat服务器的服务器并选择我的应用程序添加应用程序,为什么它不起作用?我的意思是,为什么eclipse不为我们自动创建和部署web归档文件呢?它应该是这样工作的。但是Eclipse甚至不需要生成war文件:它将Tomcat配置为直接从项目结构为应用程序提供服务。哦,非常感谢,我必须右键单击项目来创建war,并使用Tomcat的管理控制台部署war。成功了!但是,我不明白的是,如果我右键单击我向eclipse添加tomcat服务器的服务器并选择我的应用程序添加应用程序,为什么它不起作用?我的意思是,为什么eclipse不为我们自动创建和部署web归档文件呢?它应该是这样工作的。但是Eclipse甚至不需要生成war文件:它将Tomcat配置为直接从项目结构为应用程序提供服务。感谢您的提示。请与meThanks配合使用