Java Applet - 如何确定客户端计算机上是否存在外部jar文件

时间:2011-10-04 12:04:46

标签: java applet

下午好。

我正在寻找一种可靠的方法来确定客户端计算机上是否存在外部jar,谁将使用我的java applet。现在我正在做的是伪代码

try 
{
  controller.init()
}
catch Exception(Jar does not exist)
{
  make pretty screen to tell users to download setup file
  fire up browser with link to setup file
}

然而,抛出的异常是UnsatisfiedLinkError,我无法捕捉到它,因为它不是可以恢复的东西。这基本上意味着我“离开”了一个浏览器窗口,其中包含设置文件的链接,但没有解释它为什么会出现。

当然,“简单”修复只是添加到托管小程序的html页面“如果Java爆炸,请只下载建议的安装文件”,但我更喜欢一个程序化的解决方案,在这里,你们和女孩们进入了画面:)

提前感谢任何和所有答案。

/杰布

1 个答案:

答案 0 :(得分:1)

您可以检查jar路径是否存在于类路径中(System.getProperty("java.class.path"))。

另一种方法是查看是否可以加载类文件资源。假设您要加载com.thirdparty.SomeClass。然后,在调用controller.init()的任何一个类中,您都可以尝试

<击> this.getClass()。getCloassLoader.findResource( “com.thirdparty.SomeClass.class”)

this.getClass().getClassLoader().getResource("com.thirdparty.SomeClass.class")

如果返回值不为null,那么类加载应该有希望成功。

当然,jar中的类本身可能依赖于其他类......你必须决定如何处理这种情况。