加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java-更新Web应用程序的静态资源

发布时间:2020-12-15 01:19:57 所属栏目:大数据 来源:网络整理
导读:我们有一个依赖于资源的Web应用程序(Java Tomcat Spring Maven).因此app-1.0.1.war取决于resources-1.0.3.jar.当我们需要修复资源中的错误时,我们需要 发布一个新的资源罐= 1.0.4 更新Web应用程序的Maven Pom中的依赖关系 发动新战争= 1.0.2 部署网络应用 在

我们有一个依赖于资源的Web应用程序(Java Tomcat Spring Maven).因此app-1.0.1.war取决于resources-1.0.3.jar.当我们需要修复资源中的错误时,我们需要

>发布一个新的资源罐=> 1.0.4
>更新Web应用程序的Maven Pom中的依赖关系
>发动新战争=> 1.0.2
>部署网络应用

在我们团队中,有人认为这不是一种有效的方法.他们宁愿

>释放一个新罐子
>在服务器上上传jar

因此,基本上没有重新部署该应用程序.似乎更容易,但是我可以看到这种方法的几个问题:

>您需要对包含资源的jar的名称进行硬编码.
>您不知道该应用程序正在使用的资源的版本.

更新Web应用程序静态资源的常用做法是什么?

最佳答案
我们的项目也采用类似的方法.

>发布一个新的资源罐=> 1.0.4
>更新Web应用程序的Maven Pom中的依赖关系
>发动新战争=> 1.0.2
>部署网络应用

这样做有很多原因,其中一些是对我很重要的原因:

>我们的内部jar文件(模块)可在许多项目中重复使用.较旧的项目可能会随着新版本的发布而中断.
>虽然为单个应用程序编写的点版本可能不会造成任何麻烦,但是大量发行会破坏整个应用程序.在进行此类发布之前,将需要进行认真的集成测试.
>如果您具有相互依赖性,例如主应用程序需要版本1.0.4,而另一个模块需要1.0.1,则主应用程序将始终赢得决胜局.如果版本1.0.4破坏了上述模块,则必须对其进行修复,然后才能部署您的项目.

如果这些都不适合您,请考虑阅读Maven文档中的Dependency Version Ranges.这样的事情应该可以完成您想要做的事情:

<version>LATEST</version>

编辑:

So basically no redeployment of the app

这是不正确的,资源只会在每次运行mvn安装时(每次构建战争时)才更新.

因此,是的,在开发过程中,您将始终拥有最新的jar,但较旧的战争不会突然与新发布的jar捆绑在一起.相信我,您绝对不想要那样.

您只需要减少一个步骤:

>更新Web应用程序的Maven Pom中的依赖关系

您要删除一个步骤会增加很多风险.请查看我上面发布的链接,它可能会为您提供更多合适的选择.可能不是您想要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读