- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 WebStart 应用程序中,我使用此代码以编程方式检索 JNLP 代码库:
package web.start.test;
import java.net.URL;
import javax.jnlp.BasicService;
import javax.jnlp.ServiceManager;
import javax.jnlp.UnavailableServiceException;
import javax.swing.JOptionPane;
public class WebStartTest
{
public static void main(String[] args)
{
try
{
BasicService basicService = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService");
URL codeBase = basicService.getCodeBase();
JOptionPane.showMessageDialog(null, "Code base is: [" + codeBase + "]");
}
catch (UnavailableServiceException exception)
{
throw new RuntimeException(exception);
}
}
}
我正在使用这个 JNLP 描述符来启动应用程序:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:/d:/playground/eclipse/WebStartTest" href="WebStartTest.jnlp">
<information>
<title>WebStartTest</title>
<vendor>Web Start Tester</vendor>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" />
<jar href="target/WebStartTest-0.0.1-SNAPSHOT.jar" />
</resources>
<application-desc main-class="web.start.test.WebStartTest" />
</jnlp>
打包并签署 jar 文件后,在 JNLP 文件上按 Enter 成功启动应用程序,但弹出消息显示:“代码库是:[null]”。
当部署在 Web 服务器中并通过使用“http://”而不是“file://”作为代码库协议(protocol)的 JNLP 文件启动时,相同的代码可以正确检索代码库。
当使用带有“file://”代码库的 JNLP 描述符部署在本地(或共享网络)驱动器上时,是否有方法检索 WebStart 应用程序的代码库?
如果不是,我还能如何以编程方式找到应用程序目录的 URL 以访问资源文件(未打包在 jar 文件中)?
此外,从最佳实践的角度来看:在共享网络驱动器而不是网络服务器中部署 WebStart 应用程序(为了简单起见)是一种合理的方法,还是应该避免的黑客攻击?
谢谢。
最佳答案
您可以尝试从已知类的 URL 派生应用程序代码库。
URL url = WebStartTest.class.getResource("/web/start/test/WebStartTest.class");
System.out.println("url = " + url);
打印
url = file:C:/projects/Test/classes/web/start/test/WebStartTest.class
关于java - 为什么 BasicService.getCodeBase() 在使用文件 ://as URL protocol in the JNLP codebase attribute? 时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18087638/
我有一个适用于 32 位和 64 位架构的 COM 可见 dll,我用它来将菜单项添加到 Windows 资源管理器上下文菜单。使用“regasm myassembly.dll/codebase”我注
我正在尝试在 .Net 中动态创建程序集。但是,我似乎无法弄清楚如何让 CodeBase 属性返回一个值。这是一个例子: var assemblyName = new AssemblyName
我有一个用 C# 编写的 COM 可见 DLL,我想在 VB6 应用程序中使用它。我有 DLL 的两个主要用例,我想知道 /codebase 选项何时适用以及何时最好在 GAC 中注册。 用例: DL
如何使用codebase java属性将(Interface和Stub类)从服务器下载到客户端计算机,在java中RMI(远程方法调用)? 最佳答案 How to use the codebase j
我今天看到一篇关于 Javascript_Java_Interaction 的文章: http://www.rgagnon.com/javadetails/java-0184.html [ You
我有一个应用程序的工作 webstart 部署。 This post说我可以省略代码库参数。 The documentation表示代码库参数是可选的。 当我省略代码库参数或使用 codebase="
我正在使用 Java 安全策略,它对我来说仍然相当新。我希望能够直接作为启动配置运行代码,因此我有一个调试器和所有其他不错的 IDE 东西。 在策略中使用 codebase 属性之前,我可以让它正常工
CodeProject 有一个很棒的 Windows shell extension tutorial . 编译,运行Regasm.exe CSShellExtContextMenuHandler.d
我在内部自签名小程序上收到可怕的 LiveConnect 警告。我正在使用 Java 1.7.0_45。根据我读过的内容,我应该能够通过将 Caller-Allowable-Codebase * 添加
我有一个 webstart 应用程序,其中所有 jar 都已签名(我自己的和第三方的)。当使用 Java7u25 加载它时,我在 Java 控制台中看到如下错误消息: Missing Permissi
我们将 Cordova 与 AngularJS 一起用于 iOS 和 Android 应用程序。 iOS 的一大缺点是 Apple 的审核时间较长。在 Google 的 Playstore 中,您的应
我在签名的 Java 小程序中有以下 list 信息。我的构建环境很旧,目前仅限于 JDK 1.6。 Manifest-Version: 1.0 Implementation-Vendor: Foo,
我打算在我的 .NET 3.5 Windows 应用程序的 bin 文件夹以外的文件夹中保留几个 dll。我不确定如何使用代码库元素或探测元素来指定正确的路径。这就是我现在在 app.config 文
几天前,我不得不将 C++ 文件引入 Java 项目时遇到了一个问题。它首先需要测量 Java 进程的 CPU 使用率,然后决定采用 JNI 调用用 C 编写的 native 库(Unix 机器上的共
我有一个代码库,我想对其执行测试。除了程序的主要功能外,此代码库的其中一个文件还包含我要测试的代码。 当我将此文件添加到我的 CMakeLists 时,它会提示包含多个主要函数。 事情是这样的: 运行
我正在使用 rmi 开发 Twitter 之类的东西。我在 Windows 上工作,一切正常。 但是在 linux 上我有: java.rmi.UnmarshalException: error un
我有一个项目将模板存储在 DLL 和 EXE 旁边的 \Templates 文件夹中。 我想在运行时确定这个文件路径,但使用的技术既可以在单元测试中使用,也可以在生产中使用(而且我不想在 NUnit
从 Java 7u45 开始,如果网页尝试通过 javascript 与之交互并且该页面未在 list 的 Caller-Allowable-Codebase 属性中列出,则小程序将显示警告消息(即使
在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,SNS类应用就最长用到这个功能。而一般存储在数据库中的时间格式为 Un
我正在使用微软统一框架工作并收到此错误: ********** 4/15/2012 9:46:08 AM ********** Inner Exception Type: System.IO.File
我是一名优秀的程序员,十分优秀!