gpt4 book ai didi

tomcat - IntelliJ 和 Tomcat ....更改的文件不会被 Tomcat 自动识别

转载 作者:行者123 更新时间:2023-11-28 21:43:25 26 4
gpt4 key购买 nike

我正在使用 Tomcat 运行 Intellij Ultimate 并部署一场 war 。一切都很好地部署到 tomcat 的 webapp 目录。

当我更改 xhtml 文件之类的文件时,tomcat 是否有办法自动获取该更改?截至目前,我需要从 Intellij 复制文件并将其复制到 tomcat Web 应用程序目录中它所在的目录。我知道有些文件需要重新编译,但 xhtml 不是其中之一。

最佳答案

如果您使用 IntelliJ IDEA 部署 war ,则无法完成此操作。但是,如果您部署爆炸 war ,它可以。在想法中:

  1. 打开您的 Tomcat 运行/调试配置(运行 > 编辑配置)
  2. 转到“部署”选项卡
  3. 在“在服务器启动时部署”部分,删除(如果存在)工件 my-webapp-name:war
  4. 点击添加图标,选择“工件”,然后选择 my-webapp-name:war exploded
  5. 单击“确定”(在“选择要部署的工件”对话框中)
  6. 仍在运行/调试配置窗口中,选择“服务器”选项卡
  7. 在该选项卡的中间,将“On frame Deactivation”设置更改为“Update resources”或“Update Classes and Resources”
    • 更新资源:所有更改的资源(即除类之外的所有应用程序组件)都将被更新。
    • 更新类和资源:将更新所有更改的资源;更改的类将被重新编译。请注意,实际类是否会更新取决于网络服务器的功能。如果我记得,Tomcat 将重新加载 html/xhtml 和 jsp 文件,但不会重新加载 JSP 或 Servlet 使用的 Servlet 或类。您需要修改 Tomcat 以为此使用动态类加载器。
  8. 您还可以将“‘更新’时”操作也设置为上面选择的操作。
    • 这决定了当您点击更新 Update icon 时会发生什么运行窗口中的图标(或 Ctrl+F10)。
    • “显示对话框”决定 IDEA 是否在您每次点击更新图标时提示您
  9. 单击“确定”。

现在,无论何时您进行更改,IDEA 都会在 IDEA 的框架停用(即失去焦点)时重新部署更改的文件。它确实需要一两秒钟,您会在 IDEA 的下方状态栏中看到它。明显地。您仍然需要刷新您的网络浏览器,以便它获取新文件(当然除非该页面具有像获取这样的 ajax 自动刷新)。

与 Tomcat 的一个很好的结合是将“On frame deactivation”设置为“Update Resources”,并将“On 'update' action”设置为“Redeploy”或“Restart Server”。这允许通过框架快速更新静态页面停用,并通过“更新”操作更新类。

一家名为 ZeroTurnaround 的公司销售 JRebel这是一个动态类加载器解决方案。他们还有一个 five part series on the subject这是非常好的。

关于tomcat - IntelliJ 和 Tomcat ....更改的文件不会被 Tomcat 自动识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19596779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com