java - 在 Tomcat 远程部署上只上传源代码

标签 java eclipse tomcat deployment

我正在使用 Eclipse 在 tomcat 上开发 Java 应用程序。问题是,当我必须在我的远程服务器上部署它时,我必须上传 .war 文件,该文件还包含所有库,因此即使只更改了一小部分代码,上传速度也很慢。有没有办法只上传和部署应用程序的源代码?

最佳答案

好吧,这取决于您部署的解决方案有多大,以及将停机时间降至最低的重要性。基本上它看起来像:

  1. 构建你的二进制文件
  2. 停止网络应用
  3. 复制文件(部署的 tomcat web 应用程序的默认文件夹在/WEB-INF 中)
  4. 启动网络应用

您可以跳过第 2 步和第 4 步,但如果您有大型 Web 应用程序,它可能会导致回收,从而导致内存用尽并导致 Web 应用程序变得无法使用 - 您不希望这样。我使用稍微复杂一点的东西,因为我无法承受长时间停机。

  1. 构建你的二进制文件
  2. 停止暂存网络应用程序
  3. 复制暂存文件
  4. 启动暂存网络应用程序
  5. 交换网络绑定(bind),使登台成为新的实时网络应用
  6. 停止新的暂存网络应用程序
  7. 复制暂存文件
  8. 启动网络应用

Web 应用程序和登台应用程序共享数据库和内容文件夹。

在任何情况下,您都可以手动或自动执行此操作。我个人更喜欢自动做事,但这只是偏好。此外,事情可能并最终会失败,因此拥有一个可以切换到的实时环境的工作备份非常有用。

如果你使用 ANT,你可以使用 sshexec task .

关于java - 在 Tomcat 远程部署上只上传源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645920/

相关文章:

java - 通过贝塞尔曲线移动对象,结合旋转

Java - 使用 eclipse 运行多个客户端

具有多个 TextView 的Android Eclipse线性布局不换行

django - 如何在 Django 中安装 Solr 以与 Haystack 一起使用

java - Eclipse Java EE + Bitnami Tomcat 堆栈

java - Android 设备收不到多播包

java - 设置默认阅读器打开固定扩展名的所有文件(例如 *.txt)

java - ViewPart 显示为空白

Spring Hello World HTTP 状态 500 Servlet Init

java - CDI 生成方法 InjectionPoint 为 Null