我已经在网络开始工作了几年,并且有签署罐子的经验,什么不是.我正在第一次尝试使用Web start部署RCP应用程序,虽然我实际上已使用相同的证书签署了所有的jar,但我仍然收到此错误:'jnlp中的jar资源未使用相同的证书签名'
还有其他人遇到过这个吗?如果是这样,有关如何解决的任何想法?
如何让JNLP文件在点击时自动启动?(而不是点击保存或点击时打开)这是浏览器必须首先识别的某种类型的MIME关联吗?
当一个帖子引起我的注意时,我正在浏览一些细节.
https://forums.oracle.com/forums/thread.jspa?messageID=9886607
如你看到的; &TOKEN=something在JNLP中,href被认为是一个特殊的关键字,并且&token有效.我不确定是不是这样.但想到浏览oracle网站以获取有关这些' keywords'的更多细节.找不到任何对此' TOKEN'的引用.所以想知道我们不应该在JNLP href中使用关键字列表吗?有人知道它是否正式在某处发布?或者可以建议一种方法来尝试搜索本地java安装中的那些?
有没有办法在Python中实现相同的功能,即从浏览器启动脚本并自动从中央服务器位置更新它?
在Mac OS X上,10.9签名的Java Web Start应用程序默认被阻止,并显示以下消息:
"application.jnlp" can't be opened because it is from an unidentified developer.
Run Code Online (Sandbox Code Playgroud)

我知道可以削弱安全检查以允许任何应用程序运行,但这需要最终用户的手动干预.
是否可以"签署"Java Web Start应用程序,使其被识别为源自已识别的开发人员?
谢谢
我有一个企业java应用程序,它有很多jar,它们通过jnlp文件下载到客户端的jvm缓存中.当我启动应用程序时,我在Java控制台上获得以下堆栈跟踪:
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
at com.sun.deploy.ui.DialogTemplate.imageAvailable(Unknown Source)
at com.sun.deploy.ui.DialogTemplate.finalImageAvailable(Unknown Source)
at com.sun.deploy.ui.ImageLoader$2.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我们使用java Webstart在我们的Intranet上部署java应用程序.该应用程序接收频繁更新.在我们更新了Web服务器上的JAR/WAR(更改时间戳)后,用户将在一段时间内从桌面图标启动应用程序,Java Webstart将启动旧版本而不是下载新版本.
这是我们的JNLP的粘贴,因为您可以看到offline-allowed打开,但始终更新检查始终和策略.此外,下载标志是渴望.根据我的理解,这些选项应始终导致检查服务器上的时间戳和下载JAR文件的缓存.
我开始对Webstart感到沮丧!有没有人见过类似的问题?有解决方案吗 我厌倦了通过每三分之一或五次更新手动清除他们的webstart缓存来引导人们.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">
<jnlp spec="1.0+" codebase="$$codebase" href="$$name">
<information>
<title>TITLE</title>
<vendor>VENDOR</vendor>
<description>Our Utility Application</description>
<description kind="short">Our Utility Application PRD</description>
<icon href="images/util_icon.png" height="64" width="64"/>
<offline-allowed/>
<shortcut online="true">
<desktop />
<menu submenu="Utility Apps"/>
</shortcut>
</information>
<security>
<all-permissions />
</security>
<update check="always" policy="always" />
<resources>
<!-- requires 1.6+ -->
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-ea" initial-heap-size="128m" max-heap-size="512m" />
<!-- application code, download jar before we start. -->
<jar href="OurUpdatedJarName.jar" main="true" …Run Code Online (Sandbox Code Playgroud) 我有一个需要JNLP API的项目.我没有在Maven Central上找到一个神器,所以我添加了一个外部存储库,它将它提供给我的pom.该存储库本周末脱机.这是第二次这样的事情发生在我身上.
我知道这是一个很值得Maven是什么不是什么,但我真的只是想那个小JNLP-API-1.5.0.jar文件是
我必须转向哪个旋钮才能实现这一目标?
我有一个Java Web Start应用程序,我曾经通过一个快捷方式开始:
"C:\Program Files\Java\jdk1.7.0_67\bin\javaws.exe" -J-Dfile.encoding=UTF-8 -J-Xdebug -J-Xnoagent -J-Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=8200" http://xxx/yyy/zzz.jnlp
Run Code Online (Sandbox Code Playgroud)
但是在安装JDK 1.8之后,它都停止了工作,我的javaw没有看到任何额外的X || D参数.我试过这种方式:
setenv JAVAWS_VM_ARGS "-Dfile.encoding=UTF-8 -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=8200"
"C:\Program Files\Java\jdk1.8.0_25\bin\javaws.exe" http://pont/dms/InstallDMS_debug.jnlp
Run Code Online (Sandbox Code Playgroud)
但没用.
我找到的唯一解决方案是使用Java控制面板设置params,将它们直接添加到JVM.
Control Panel > Java > Java (tab) > View (button) > Runtime parameters (field)
Run Code Online (Sandbox Code Playgroud)
如何为1.8岁的方式设置参数?
PS JDK 1.6 x32仍适用于快捷方式.x64 1.7启动但引用1.8库,所以我认为所有JDK x64都是串通的.
要启动我们的遗留应用程序,我们通过jnlp使用java WebStart.
我们希望支持64位Java客户端,但我们的一个库是依赖于体系结构的.
我们想过做的事情:
<resources>
<j2se version="1.6+" sun.arch.data.model="64"/>
<jar href="/apps/swt-3.7M5-win32-win32-x86_64_s.jar" download="eager" />
</resources>
<resources>
<j2se version="1.6+" />
<jar href="/apps/swt-3.7M5-win32-win32-x86_s.jar" download="eager" />
</resources>
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为参数sun.arch.data.model ="64"用于设置参数而不是对其进行测试.
有任何想法吗?
jnlp ×10
java ×8
jar ×2
32bit-64bit ×1
certificate ×1
content-type ×1
debugging ×1
dependencies ×1
jvm ×1
keyword ×1
macos ×1
maven-2 ×1
mime-types ×1
python ×1
rcp ×1
reserved ×1
security ×1