首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在生产中更新Jar

问在生产中更新Jar
EN

Stack Overflow用户
提问于 2013-08-14 17:19:31
回答 2查看 562关注 0票数 1

我有一个Swing/Java应用程序,用于客户端,每周更新一次。问题是设置只是布局类和它们各自的目录,在更新时我只更新类。

我想做一个包含所有类的jar,但我不知道如何更新它.

此外,一些客户端需要在一周内进行一些更新,其中只有一到两个类将被更新。

怎样才是正确的方法?

我在使用Eclipse。编辑:我知道如何创建jar,只是不知道如何动态更新它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-14 17:26:37

这样做的一般方法,即使只做了一些小的更改,也是在每次更新后重新打包JAR,并将该JAR交给用户。用户将替换现有的JAR。你如何生产你的罐子取决于你。很多IDE都支持它,您可以编写一个shell脚本,使用现有的构建系统,比如ant或maven,甚至make,什么都可以。(见下文编辑)

如果JAR非常大,部署也很麻烦,那么您可以将项目分成更小的子组件,每个子组件都有自己的JAR,并且只重新分发包含更改的子组件。对于您来说,这可能是一个重要的重构,也可能不是一个适当的重构。对于大多数小型或中等规模的项目来说,这通常是不必要的。

至于部署,也有无数种方法可以使用户更容易地进行部署。你可以给他们一个JAR文件。您可以使用例如install4j。您可以使用(尽管它有点笨重)。还有其他人。

install4j和JWS都支持自动检查更新。如果您选择支持该功能,您所需要做的就是更新您的发行网站,用户将自动接收更新。这也取决于你。

但是,对您的问题的一个简短的回答是:如果您将所有的类打包在一个JAR中,那么不管有多少类更改,您都希望将整个更新的JAR提供给用户。抵消这一成本的好处是,JAR是一个很好的、压缩的、独立的应用程序/库源代码集合,这使得管理和部署非常方便。

编辑:针对您指定使用Eclipse的编辑,Josh M在他对您的答复的评论中给出了说明。为了增加他的评论,要导出一个可运行的Jar,您必须设置一个运行配置,如果您已经在Eclipse中运行了您的应用程序,您可能已经安装了。如果没有,可以在“运行”菜单中创建一个。

编辑2:请参阅Thorbjørn Ravn Andersen's answer以及一些好的JWS提示。

票数 2
EN

Stack Overflow用户

发布于 2013-08-14 17:37:30

我建议您研究一下Java,它的设计正是为了满足您的需要。

您需要首先创建完成的部署,然后可以查看如何为部署创建JNLP文件,以及将所有文件放置到web服务器以供用户访问的方法。现在,让用户在每次更新时下载整个程序。当您变得更有经验时,您可以了解如何进行增量更新。

我强烈建议在部署路径中包含一个版本号或时间戳,这样jar文件就不会意外地被错误地缓存在客户机中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18238192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档