我已经在我的机器上的 Eclipse 上创建了一个项目(我们称之为“PC1”)。它是一个带有一些 servlet 的 Web 应用程序,我使用 Tomcat 来运行。我没有使用 .metadata
文件夹,而是使用 Tomcat 安装文件夹进行部署。每个 servlet 都在 web.xml 中配置,可以通过 URL [host]/myproject/myservlet/
访问。它在 PC1 上运行良好。
现在我已将项目推送到裸 git 存储库,然后将存储库克隆到另一台机器(“PC2”)。克隆后我将项目导入到工作区,创建服务器(我也在此处将其设置为使用 Tomcat 的文件夹而不是 .metadata
)并且服务器本身运行良好(我看到 Tomcats 的主页) ,但是当我尝试使用 Eclipse 的运行按钮运行 servlet 时,会发生以下情况:
- 浏览器指向
[host]/myproject/WEB-INF/classes/myservlet/
而不是[host]/myproject/myservlet/
,所以它忽略了web.xml 配置。 - 浏览器显示 404 错误
WEB-INF/classes
文件夹中没有任何内容,我猜这意味着存在一些构建问题。- 除 servlet 之外的任何其他文件(例如“Web Content”文件夹中的 jsp 和 html 文件)由 Tomcat 找到并且内容显示在浏览器中。
有什么想法吗?
仅供引用,我尝试清理 SO 上其他帖子中提到的 Tomcat 工作目录,但这并没有解决问题。
最佳答案
这是一个很常见的问题,当我在同一个项目上与大型团队一起编程时,有时也会遇到这个问题,有时有人将他们的配置推送到 SVN 上(我们使用 svn,但它或多或少与 git 一样),一些开发人员不小心在他的机器上 checkout ,eclipse 的配置对他来说变得一团糟!
这只是eclipse 上的配置问题。是的,您将最初在 PC1 上创建的完全相同的项目 pull 到了 PC2。但是eclipse环境会有点不同。
我所说的环境不是指 eclipse 的版本兼容性,而是指配置、构建路径、项目方面以及创建项目时 eclipse 在后端管理的所有其他内容。 PC1 的 Eclipse 可能已正确配置所有这些,但 PC2 只是从 git 存储库中 checkout ( pull )了一个项目,因此它可能无法正确配置以开箱即用地运行该项目。
要配置项目相关设置,右键单击项目 --> 属性。您可能需要配置以下内容(我的问题通常通过这些来解决)
- 构建路径
- 部署程序集
- 事实
- 网络项目设置
关于java - 带有克隆项目 : build problems 的 Tomcat + Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20342864/