一JNLP介绍:
在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应 性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。
Java Network Launching Protocol (JNLP,java网络加载协议) 承诺改变这个现状。通过JCP(Java Community Process)的JSR-56的开发, JNLP解决了很多先前用java开发针对客户端的功能的问题。一个JNLP客户端是一个应用程序或者说服务,它可以从宿主于网络的资源中加载应用程序。如果你使用JNLP打包一个应用程序,那么一个JNLP客户端能够:
o 为该应用探测,安装并且使用正确版本的JRE(java运行时环境)
o 从浏览器或者桌面加载应用程序
o 当新版本的应用出现时自动下载最新的版本。
o 为了加速启动速度在本机缓存应用程序需要的类
o 可以作为applet或者应用程序运行
o 在必要的情况下下载原始的库
o 以安全的方式使用诸如文件系统这样的本机资源
o 自动定位和加载外部依赖资源
二 JNLP文件的具体说明
<?xml version="1.0" encoding="UTF-8"?> <!--codebase 属性指出搜索应用程序资源的顶级URL,下面的icon/jar元素都是以这个URL为基本.--> <jnlp codebase="http://127.0.0.1:8081/webstart"> <information> <!-- 在"开始"-"运行"菜单中输入"javaws"或"javaws -viewer"启动Web Start,会看到客户端已经安装的webstart应用程序--> <!--title :应用程序标题 vendor:供应商 title/vendor 元素必须,会显示在用"javaws -viewer"命令 打开的应用程序缓存查看器(Java Application Cache Viewer)中--> <title>HelloWorld</title> <vendor>Lively Corporation</vendor> <description>HelloWorld Test Example for WebStart.</description> <!--homepage :存放有关应用程序的相关文档的URL,如help文件等,仅仅是description作用--> <homepage href="http://127.0.0.1:8081/webstart/index.html"/> <!--icon 指定图标会显示在应用程序缓存查看器中, 在查看器中新建webstart快捷方式到桌面时也会显示为快捷方式图标, 只支持GIF/JPEG格式,其它格式无效--> <icon href="./images/logo.jpg"/> <!--splash 在sun的文档中提到会出现在webstart启动时的闪屏中,不过可能由于速度问题,我没有观察到--> <icon kind="splash" href="./images/logo.jpg"/> <!-- 允许离线启动,可以使用javaws -offline命令--> <offline-allowed/> </information> <resources> <!-- 指定客户端需要安装的j2se版本,下面指定为1.5+, 如果版本是1.4,在链接此jnlp文件时会提示更新j2se版本--> <j2se version="1.5+"/> <!-- 指定要下载到本地的jar文件(注意,所有的文件都需要打包才能够下载), 可以包含一些资源文件,如icons/configuration files,可以使用getResource方法取得--> <jar href="./jar/jws/helloworld.jar"/> </resources> <!--application-desc 必须,指定webstart启动时执行jar文件中的哪个类--> <application-desc main-class="jws.HelloWorld"/> </jnlp>
三 JNLP部署应用
(1)编写相关应用,打包成一系列jar;
(2)根据jnlp文件说明修改相应的jnlp内容,修改相应的url和jar;
(3)部署jnlp文件和jar到相应的web容器;
(4)编写访问网页,即可使用该应用〔亦可下载jnlp文件使用javaws运行应用〕;
四 补充
如果jar需要访问本地文件资源,需要为你的jar文件签名
先在命令行用keytool产生一个keystore文件.
命令行用jarsigner签名,当然这时候需要生成keystore时的密码
重新部署即可
相关推荐
jenkins-jnlp-slave镜像
maven-jnlp-plugin-1.4.jar
Java程序中启动浏览器 Java程序中启动浏览器 Java程序中启动浏览器 Java程序中启动浏览器 Java程序中启动浏览器
maven-jnlp-plugin-1.4.1.jar
maven-jnlp-plugin-1.3.jar
标签:ant-jnlp-war-0.9.jar.zip,ant,jnlp,war,0.9,jar.zip包下载,依赖包
Jenkins JNLP Agent Docker映像 该映像基于映像,并修复了docker创建的卷的权限问题。 该映像还包含docker二进制文件,并且能够挂载/var/run/docker.sock以使从属服务器能够在从属服务器上运行docker命令。 映像的...
标签:ant-jnlp-war_deps-0.9.jar.zip,ant,jnlp,war_deps,0.9,jar.zip包下载,依赖包
要构建 jnlp-builder.war,请从根目录执行 Maven 命令: mvn clean package 然后将 jnlp-builder.war 放在一个 Servlet 容器(Tomcat、JBoss...)的 deploy 文件夹中 如何使用 JNLP-Builder 请参阅。 注意:...
官方版本,亲测可用
适用于jenkins的Dockerized Node jnlp代理 配置 在.env中配置变量。 有关模板,请参见.env.example。 提供了合理的默认值。 用法 这是詹金斯直接使用和产生的 需要 对于Jenkins的简单集成,值得使用: :
使用方法docker run -d \-e JENKINS_URL=...jnlp:latest
Java多彩动画程序.jar (.html, .jnlp)
带有 Applet 或 Java Web Start 的简单启动器 这个项目已经过时了! 请改用 。 这个项目是一个关于如何在不重建它的情况下覆盖默认包weasis.war的示例。 在 pom.xml 中,更改 <properties><weasis> xxx 中的 ...
jnlp-微服务 微服务的通用构建代理
JWS是与网络浏览器相结合的应用软件,当用户点击链接的时候就会指向一个Java网络启动协议(Java Network Launching Protocol (JNLP) )文件,然后浏览器自动启动JWS,接着下载、缓存并运行基于Java技术的应用软件。...
java哪里都好用,不会就用jnlp来下载JAVA吧,就用它来下载,很不错的下载软件
demo 和sourcecode都在
预约小程序源码java 它是什么? launssh 是一个小型 Java 应用程序,它的唯一目的是启动 SSH 您系统上的客户端。 它可以打包为 Java 小程序或 Java ...(JNLP) ...我正在从应用程序及其支持中删除 Righ
1268047053905-integrated.jnlp jsonplugin-0.32.jar