在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的webapp目录时,它没有工作。但是,如果我将WebContent目录下的所有目录和文件移到更高的级别,它就能正常工作。
这是应用程序下Tomcat的webapp目录中的文件夹结构:
[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目录呢?为什么我必须更改目录结构?
发布于 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下面。
发布于 2014-09-09 18:40:28
我也遇到了同样的问题./WebContent/index.html没有出现在Eclipse导出的.war中。这发生在我的新Eclipse系统上,因为我用Kepler重新创建了一个从旧系统到露娜Eclipse的新系统的工作项目。
我通过进入Project / Properties / Deployment 修复了这个问题。我发现旧的工作系统有这个规则,而我的新的非工作系统却忽略了这个规则.
Source = /WebContent
Deploy Path = /我在新系统中通过按“Add.”来纠正这个问题。加上缺失的规则。
发布于 2012-03-11 18:40:59
Eclipse允许直接将webapp部署到服务器上,而无需自己复制任何内容。它还允许在准备部署到测试或生产服务器时生成可部署的war文件。
打开"Servers“视图,右键单击,然后选择创建一个新服务器。创建后,右键单击服务器并选择将您的web应用程序添加到其中。然后Eclipse会将您的web应用程序部署到服务器上。
您不应该手动复制Eclipse中的任何内容。如果您需要或想要这样做,那么您可能应该使用一些ant脚本来生成正确的部署结构。这个结构在servlet规范中进行了描述。它应该在webapp的根目录下有一个包含以下内容的WEB目录:
所有不在web下的其他目录和文件都可以由web容器提供。
https://stackoverflow.com/questions/9657724
复制相似问题