Java 获取当前JNLP信息
我正在从一个jnlp文件运行一个应用程序,该文件包含有用的信息,如供应商、描述和其他字段 为了构建“关于”对话框,在运行时获取这些数据的最合理方法是什么 是否有一种方法可以检测应用程序是否在没有JavaWebStart的情况下启动 谢谢你的帮助Java 获取当前JNLP信息,java,jnlp,Java,Jnlp,我正在从一个jnlp文件运行一个应用程序,该文件包含有用的信息,如供应商、描述和其他字段 为了构建“关于”对话框,在运行时获取这些数据的最合理方法是什么 是否有一种方法可以检测应用程序是否在没有JavaWebStart的情况下启动 谢谢你的帮助 Pierre您可以通过检查jnlp服务的可用性来检测应用程序是否是使用webstart启动的。比如: public boolean launchedByJNLP(){ try { ServiceManager.lookup("ja
Pierre您可以通过检查jnlp服务的可用性来检测应用程序是否是使用webstart启动的。比如:
public boolean launchedByJNLP(){
try {
ServiceManager.lookup("javax.jnlp.BasicService");
} catch (UnavailableServiceException e) {
return false;
}
return true;
}
至于获取About对话框的jnlp信息,我认为最好的解决方案是将About对话框中需要的任何信息包含在与应用程序打包的单独属性文件中。实现所需目标有多种策略。我将不再重温已经提到的内容,而是概述更多内容
(一) 信息可以放在存档的清单中。可以使用类的方法检索它 Package类还能够识别所有加载的包
Package[] package = Package.getPackages();
反复搜索您的包,您可以获得当前加载的所有包的列表
将信息放入清单的最佳方法是使用Ant或类似的构建工具。这样就可以将版本设置为日期-轻松完成
2) 将属性添加到JNLP的resources部分
<resources>
..
<property name="jnlp.href" value="${href}" />
..
</resources>
加载JNLP文件并使用J2SE中过多的XML API之一对其进行解析。(如果它没有加载到J2SE的XML API中,则强烈表示它无效或格式不正确,应使用以下工具检查。)
加载并解析后,即可获得并呈现基本信息。有什么原因不能将其与JNLP文件一起烘焙到应用程序中并从中获取?
<resources>
..
<property name="jnlp.href" value="${href}" />
..
</resources>
URL urlToJnlp = new URL(
basicService.getCodeBase(),
System.getProperty("jnlp.href") );