Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何实现基于Maven自动更新的Java应用程序?_Java_Maven_Maven Plugin - Fatal编程技术网

如何实现基于Maven自动更新的Java应用程序?

如何实现基于Maven自动更新的Java应用程序?,java,maven,maven-plugin,Java,Maven,Maven Plugin,我正在开发一个富客户机Java应用程序,需要一个新版本可用时自动更新的功能 我正在使用maven进行构建。maven依赖插件可以自己复制和下载给定POM的依赖项。唯一的问题是如何将其集成到Java应用程序中 以前有人试过这个吗 我不确定您有什么类型的应用程序,或者是否需要maven来完成此任务。首先,您需要检查是否有更新的版本可用。如果答案是肯定的,您的侦听器将触发updateApplication(假设您这样命名)方法。您的方法比下载所需的JAR、文件等更有效。。到适当的地方,替换旧的。但正如

我正在开发一个富客户机Java应用程序,需要一个新版本可用时自动更新的功能

我正在使用maven进行构建。maven依赖插件可以自己复制和下载给定POM的依赖项。唯一的问题是如何将其集成到Java应用程序中


以前有人试过这个吗

我不确定您有什么类型的应用程序,或者是否需要maven来完成此任务。首先,您需要检查是否有更新的版本可用。如果答案是肯定的,您的侦听器将触发updateApplication(假设您这样命名)方法。您的方法比下载所需的JAR、文件等更有效。。到适当的地方,替换旧的。但正如我所说,我不知道您的体系结构,它可能不适合所有情况。

我不确定您有什么样的应用程序,或者您是否需要maven来完成此任务。首先,您需要检查是否有更新的版本可用。如果答案是肯定的,您的侦听器将触发updateApplication(假设您这样命名)方法。您的方法比下载所需的JAR、文件等更有效。。到适当的地方,替换旧的。但正如我所说,我不知道您的体系结构,它可能不适合所有情况。

我假设您谈论的是库/jar(依赖性)。在这种情况下,您将删除该版本。因此默认情况下,maven采用最新版本。但在实际场景中,当您从一个版本移动到另一个版本时,需要进行回归测试,因为某个版本中的某些更改可能不起作用

我假设您在谈论库/jar(依赖性)。在这种情况下,您将删除该版本。因此默认情况下,maven采用最新版本。但在实际场景中,当您从一个版本移动到另一个版本时,需要进行回归测试,因为某个版本中的某些更改可能不起作用

对于客户端,您可以编写一个在启动应用程序后检查更新的方法。

对于客户端,您可以编写一个在启动应用程序后检查更新的方法。

Maven是一个配置管理和部署工具。 您需要一个运行时解决方案,而不是构建/编译时。 如果您有一个maven repository central,那么应该有一个下载程序从中检索最新版本。 例如,您可以找到一些如何从nexus下载工件的脚本。 Nexus有自己的RESTAPI,您可以使用它。
这只是一个提示。

Maven是一个配置管理和部署工具。 您需要一个运行时解决方案,而不是构建/编译时。 如果您有一个maven repository central,那么应该有一个下载程序从中检索最新版本。 例如,您可以找到一些如何从nexus下载工件的脚本。 Nexus有自己的RESTAPI,您可以使用它。
这只是一个提示。

似乎很奇怪。Maven是在开发过程中管理项目的工具。您可以尝试按照Maven文件夹结构向最终应用程序添加POM,并设置一个定期任务来调用Maven命令以强制下载JAR。更好的解决方案是使用嵌入式Maven。在任何情况下,这都意味着要与Maven及其配置进行斗争,也意味着要使Maven成为您正在使用Maven构建的应用程序堆栈的一部分。。。这不是我实现自动更新功能的选择,对某个web服务器进行一个简单的HTTP调用就足够了。Maven是在开发过程中管理项目的工具。您可以尝试按照Maven文件夹结构向最终应用程序添加POM,并设置一个定期任务来调用Maven命令以强制下载JAR。更好的解决方案是使用嵌入式Maven。在任何情况下,这都意味着要与Maven及其配置进行斗争,也意味着要使Maven成为您正在使用Maven构建的应用程序堆栈的一部分。。。这不是我实现自动更新功能的选择,对某个web服务器进行一个简单的HTTP调用就足够了。你还需要编写一个自定义类加载器,允许你动态地替换类(我认为这很危险),或者编写一些循环应用程序的方法,以便它拾取新类(我看到大多数应用程序都这样做).CodeChimp你是对的,但正如我所说的,这只是一个假设,对体系结构一无所知。你也可以尝试使用OSGI。我认为OSGI将是最好的长期选择,如果这个应用打算长期使用的话。不过,我看过一次,大部分内容都让我难以理解。你还需要编写一个自定义类加载器,允许你动态地替换类(我认为这是危险的),或者编写一些循环应用程序的方法,以便它拾取新类(我看到大多数应用程序都这样做)。CodeChimp你是对的,但正如我所说,这只是一个假设,对体系结构一无所知。你也可以尝试使用OSGI。我认为OSGI将是最好的长期选择,如果这个应用打算长期使用的话。不过,我看了一眼,大部分都看得很清楚。