Java Web Start and Main Class



我做了一个应用程序,我将在开始时自动更新。在stackoverflow上阅读,许多人建议Java web start。所以在Netbeans中,我启用了web启动配置。它产生了发射。JNPL HTML, jar文件和lib文件夹。在主程序中插入

DownloadService2 service = (DownloadService2)
ServiceManager.lookup("javax.jnlp.DownloadService2");                        
ResourceSpec spec = new ResourceSpec("http://www.mysite:8080/.*", "1.*", service.JAR);
ResourceSpec results[] = service.getCachedResources(spec);
 results = service.getUpdateAvailableResources(spec);

所以我把dist文件夹中的所有文件上传到webserver。现在如果我从午餐开始应用程序。JNPL,它开始没有问题。但是当我使用我的jar文件时,我得到了错误:找不到主类"my class"程序退出。

现在,如果我不使用DownloadService2,它与Jar文件。我的问题是:我如何使用Java Web start来更新我的程序?

例如,如果我发布了另一个版本,并把它放在codebase url,如果我用jar文件启动程序,它应该下载新版本。

有人能告诉我,如果我错了什么或误解Java web启动如何工作?

编辑:我希望程序遵循这一行:1)如果可能的话和jar一起吃午饭,检查更新…如果不能,因为离线使用旧的2)如果在线检查更新,如果可用,下载更新文件夹3)如果更新不可用,使用旧的。重复1 2 3

现在这是两个伙伴了,不是吗:

首先,为什么你得到一个关于你的主类的错误?您的jnlp文件是否具有声明的主类的正确包和名称?它应该是这样的:

<application-desc main-class="package1.package2.MyMainClass" />

其次,更新是如何工作的。一旦有人访问您的jnlp文件并从中启动jar应用程序,该jar就会被本地下载到客户机的机器上。然后,当他第二次运行它时,jnlp协议将首先检查url以查看jar是否已更新。如果是这样,那么它将获得新版本,这就是客户机将运行的版本。如果没有更新,以前下载的jar将从本地机器运行

相关内容

最新更新