我正在使用 Eclipse 在 tomcat 上开发 Java 应用程序。问题是,当我必须在我的远程服务器上部署它时,我必须上传 .war 文件,该文件还包含所有库,因此即使只更改了一小部分代码,上传速度也很慢。有没有办法只上传和部署应用程序的源代码?
最佳答案
好吧,这取决于您部署的解决方案有多大,以及将停机时间降至最低的重要性。基本上它看起来像:
- 构建你的二进制文件
- 停止网络应用
- 复制文件(部署的 tomcat web 应用程序的默认文件夹在/WEB-INF 中)
- 启动网络应用
您可以跳过第 2 步和第 4 步,但如果您有大型 Web 应用程序,它可能会导致回收,从而导致内存用尽并导致 Web 应用程序变得无法使用 - 您不希望这样。我使用稍微复杂一点的东西,因为我无法承受长时间停机。
- 构建你的二进制文件
- 停止暂存网络应用程序
- 复制暂存文件
- 启动暂存网络应用程序
- 交换网络绑定(bind),使登台成为新的实时网络应用
- 停止新的暂存网络应用程序
- 复制暂存文件
- 启动网络应用
Web 应用程序和登台应用程序共享数据库和内容文件夹。
在任何情况下,您都可以手动或自动执行此操作。我个人更喜欢自动做事,但这只是偏好。此外,事情可能并最终会失败,因此拥有一个可以切换到的实时环境的工作备份非常有用。
如果你使用 ANT,你可以使用 sshexec task .
关于java - 在 Tomcat 远程部署上只上传源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645920/