spring - IntelliJ 中的 "Redeploy"和 "Restart Server"有什么区别?

标签 spring intellij-idea tomcat6 redeploy

我正在使用 IntelliJ 和 Tomcat 6 来运行 Spring Java EE 应用程序。我没有部署编译好的 war ,而是选择使用爆炸 war 部署,因此我可以选择热交换一些类和 JSP。

但是,除了“更新类”和“更新类和资源”之外,IntelliJ 还允许用户在更新操作上“重新部署”和“重新启动服务器”。这两种选择有什么区别?

如果我在我的类中更改了我的方法签名,或者如果我在我的 Springconfig.xml 中进行了更改,我是否需要重新启动服务器,或者重新部署是否足够?我注意到我无法简单地热交换与它们关联的函数签名或注释已被修改的类。

最佳答案

重新启动服务器完全按照它所说的进行,并重新启动 tomcat 服务器。您的 war 将在服务器启动时重建和部署。如果您在热交换类时遇到问题,这很有用。

Redeploy 将重新部署整个 .war(无需重新启动服务器),而不是尝试热交换更改的类和其他资源。

另请参阅: http://www.jetbrains.com/idea/webhelp/updating-a-running-java-ee-application.html

在回答您的第二个问题时,重新部署就足够了。也就是说,它可能会导致内存泄漏,并且通常只比完全重启稍微快一点。

关于spring - IntelliJ 中的 "Redeploy"和 "Restart Server"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13935653/

相关文章:

使用 Hamcrest 进行 Spring MVC 测试 : how count and test the properties number/size of an object inside a Model

java - Spring - SpringJUnit4ClassRunner 仍然使用 LOG4J 1 而不是 2?

intellij-idea - 如何让 Jetbrains IDE 的嵌入式终端将 ALT/Option 识别为 Meta 键?

java - 如何对tomcat进行端到端性能分析

java - 我应该将我的实体 ID 放在 URL 中还是作为隐藏字段放入表单中?

java - 无法构造 `class name` 的实例(尽管至少在 Creator 上存在)

java - JDK 和 IDEA 在 Ubuntu 上忽略 $HOME

android-studio - 如何在 Android Studio 中启动 Dart 项目?

tomcat - Tomcat docBase 可以跨越多个文件夹吗?

ubuntu - Tomcat6 无法启动 Linux Mint virtualbox guest