java - 如果没有 wtpwebapps 文件夹,则无法在 Tomcat 7 上部署 WAR 文件

标签 java eclipse jsp tomcat jakarta-ee

我在 Tomcat 服务器上部署 War 文件时遇到问题。 我的Tomcat服务器配置如下:

tomcat config

我的部署步骤:

  1. 我在 Eclipse Kepler(Windows 7 64 位,未使用 Maven)中创建了一个 WAR 文件。
  2. 使用 Tomcat Web 应用程序管理器上传。
  3. 点击部署。

Tomcat 解压 tomcat/webapps 中的 WAR 文件并抛出 NullPointerException。它缺少一些应该导入到项目中才能正常工作的文件。

当我在 Eclipse 中工作时,作为这些文件的源,我在服务器设置中给出了一个工作区路径,并添加了 Eclipse 默认提供的 wtpwebapps 文件夹。所以我的完整路径是这样的:

C:\Users\myUserName\kepler\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myProjectName\WEB-INF\classes\project\fdsProject\FDS.prj

现在,当我部署项目时,它位于 webapps 文件夹中,而不是在 wtpwebapps 中,如果我尝试在浏览器中启动,它会显示 NullPointerException。但是一旦我将 wtpwebapps 文件夹从我的工作区复制到 tomcat 安装文件夹,靠近 webapps,我的项目就成功启动了。

这意味着我无法在另一台服务器上启动我的项目,只能部署一个独立的 WAR 文件。我必须手动将带有我的项目的 wtpwebapps 添加到 tomcat 服务器安装文件夹中。我如何优化它并仅使用部署的 WAR 文件启动项目? 谢谢!

编辑

我的项目结构是这样的: project structure

最佳答案

  1. 停止 Tomcat 服务器

  2. 在设置 View 中 Eclipse 中的 Tomcat 服务器设置 -> 服务器 位置,勾选Use Tomcat Installation(...)

  3. 现在,您可以更改Deploy Path,如果您想要webapps,则输入它。

编辑

下面的值控制tomcat如何处理war文件

autoDeploy="true"
unpackWARs="true"

只需在您的 server.xml 文件中搜索这些值并根据需要编辑值。

关于java - 如果没有 wtpwebapps 文件夹,则无法在 Tomcat 7 上部署 WAR 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279563/

相关文章:

java - 如何停止和开始执行for循环

java - 单词中不重复字母的正则表达式

java - 创建矩形网格

android - 在 Eclipse 上为 Android 程序插入断点

java - 是否可以在不激活插件的情况下触发 RCP-Plugin 中的一系列操作?

css - 将选择框中的选项左对齐,其中选择样式为 'direction:rtl'

java - 将 HTML 链接到 JSP 页面

java - 为什么只有根记录器在具有 JSON 配置的 Log4j 2 中工作?

java - 将eclipse升级到java 8

java - 为什么这里是 "Duplicate local variable messages"?