我们在远程服务器中拥有一个Web应用程序。整个应用程序大小约为30mb。对于每个增强,我们将添加一个或多个jsps和.class文件。我们不会触及.js文件和图像文件。
因此,对于此要求,我们将这些文件发送到我们的电子邮件,然后将文件粘贴到Web应用程序中,然后我们重新启动tomcat服务器以捕获新文件。我觉得上述过程很懒。
有没有办法将单个文件放在tomcat web app中?
答案 0 :(得分:2)
如果部署展开的应用,即您的代码是单独的.class文件而不是.jar文件,则可以替换单个文件。问题是一般的Java类加载器(除了像OSGI容器这样的特殊情况)和Tomcat类加载器,它们不会替换已经在内存中的类,它不会被替换。所以,你必须重启Tomcat。使用JSP它会变得有点棘手,因为Tomcat将它们编译成类并且在决定是否重新编译JSP时似乎依赖于生成的类的时间戳。
我记得在Java 1.2和Tomcat 4天中做过这样的事情,但它最终成为一个比它值得更大的麻烦。只需帮自己一个忙,然后编写你的构建脚本来生成一个WAR文件,并给出一些指示,最好是在UI中,说明特定Web应用程序正在运行的构建。
答案 1 :(得分:1)
KwateeSDCM可以逐步更新网络应用。继续使用产生战争的构建链。然后使用KwateeSDCM(可以使用REST接口自动化)部署该战争,该战争保留每个文件的MD5哈希值,并仅更新实际更改的文件。有一个特定的教程,用于使用KwateeSDCM here部署tomcat webapps。