我正在使用 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/