【问题标题】:IDEA +tomcat, won't update the changes on javaFile when tomcat was restartedIDEA +tomcat,tomcat重启时不会更新javaFile的变化
【发布时间】:2017-01-06 11:24:18
【问题描述】:

我的问题是,最近我在 IDEA 中启动了一个 web 项目,带有一些 servlet 过滤器。一开始还可以,但今天我发现我的想法的热部署又不起作用了。

例如,当我更改 servlet 时,我需要按 ctrl+shift+F9 重新编译,它会自动运行。现在它就像我没有更改它一样运行,即使重新启动 tomcat 也无济于事。

现在更新更改的唯一方法是在我更改 java 文件、servlet、过滤器、侦听器、java bean 等时重新启动 IDEA。

我检查了输出路径,类文件确实改变了,最后修改日期显示正确,我只有一个输出路径。
我认为这与项目设置有关?

这是我的项目设置的一些图片:

而且,每当我创建一个 servlet 或侦听器时,它会在项目资源管理器下方的 Web 窗口中显示这个奇怪的东西,就像它正在加载一样,有时它会字面上显示正在加载...,比如这:

当我重新编译模块时,它显示
警告:输出路径 D:\IDEADevelop\LittleBBS\web 与源根目录​​相交。只有由 build 创建的文件才会被清理。

【问题讨论】:

  • 我已经找到了解决方案。 ---设置>构建>构建工具>Maven>导入,我取消选择“使用Maven输出目录”
  • 如果你使用maven(不是你写的),最好让IntelliJ使用maven约定
  • 谢谢,我还没学...

标签: java tomcat servlets intellij-idea project-settings


【解决方案1】:

在Project 标签上,将
D:\IDEADevelop\LittleBBS\web\WEB-INF\classes 替换为
D:\IDEADevelop\LittleBBS\out。

在Modules 标签上,点击选项Inherit project compile output path。

在其他选项卡上,确保输出目录与D:\IDEADevelop\LittleBBS\out一致

【讨论】:

  • 谢谢!!但是我的老师告诉我把课堂输出改成 WEB-INF\classes...无论如何我会努力说服他...谢谢
猜你喜欢
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 2012-09-04
  • 1970-01-01
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多