我有一个要求,当用户点击网页上的链接[这是一个内部网页]时,需要执行部署到客户端的jar。为了详细说明,我有一个网页,提供有关多个产品的详细信息,现在当各个产品所有者点击他们的产品时,需要执行特定的产品罐来打开Swing UI。
我已对此进行了分析,由于Run EXE from client side的安全原因,没有一个库框架允许这样做。
我建议使用applet执行此操作,但人们并不热衷于此。
编辑: 排除applet的原因是人们不热衷于在服务器上部署jar。他们想在客户端部署jar然后执行它。
编辑: 不热衷于下载jar的原因是:
在某些检查下是否有执行客户端代码的选项?例如:将特定IP地址设置为安全,以便通过安全检查。
答案 0 :(得分:2)
Java Web Start可能是进行此部署的方法。
问题是人们不想下载jar,他们想要预先安装jar来执行
重点是“用户”不下载Jar,而是由运行用户单击的启动文件的JWS客户端无形地完成。请尝试我的JWS version of GIFanim获取体验示例。
请注意,即使该应用程序。是沙盒,在它到达屏幕之前仍然有提示。从版本1.7.0_21开始,这些提示适用于applet和amp; JWS应用程序。
最终,没有办法运行基于Swing的应用程序。在下载Jar之前。 E.G: -
applet
元素(或等效元素)出现在网页中时,将调用JVM。 JVM将下载&缓存Jar - 对用户来说相对不可见,除了applet中的'loading ..'进度条。..当各个产品所有者点击他们的产品时,需要执行产品特定的罐子才能打开Swing UI。
每个“更具体”的应用都会有一个JNLP。同样,您可以使用JNLP API的BasicService
来调用相关的应用程序。打开该应用的 JNLP。这是demo. of the BasicService
。
答案 1 :(得分:0)
使用网络开始
请参阅此链接
http://www.oracle.com/technetwork/java/javase/overview-137531.html
web start允许客户端运行jar驻留在Web上的Java应用程序