在.jar中使用超链接打开SWT浏览器中的HTML文件

时间:2013-06-14 00:57:32

标签: java swt executable-jar

我的SWT应用程序有一组帮助文件,我已使用Browser控件在应用程序中打开。通过帮助文件的导航是通过相对路径名的超链接完成的(即:<a href="aboutUs.htm">,因此只有一个html文件实际上是由java代码helpHome.htm打开的。我使用String homeURL = this.getClass().getResource("/help/helpHome.htm").toString();和{{当我在Eclipse中调试它时,这很有效。不幸的是,当我将项目移动到.jar时,浏览器会给出标准的“找不到此网页”错误。我已尝试使用{ {1}} {{}}}中描述的函数,适用于helpHome.htm,但当我点击一个超链接时,它会显示一个空白页面,显示相对路径名。是否有办法说服浏览器打开一个来自使用browser.setURL(homeURL);方法的可执行jar的html文件?如果没有,是否有任何建议的解决方法让我获得类似的结果?

提前致谢!!

1 个答案:

答案 0 :(得分:0)

您必须在应用程序启动的任何可用端口上按照here说明启动内部服务器,并将您的html文件作为静态资源提供给服务器。

然后设置browser.setURL(homeURL)。所有后续超链接现在将指向服务器,服务器知道如何提供所请求的资源。

当您在eclipse中运行或调试应用程序时,超链接被解析为文件系统路径(例如文件:// C:\ workspace ....),然后事情正常。但是当你从一个可运行的jar中运行你的应用程序时,情况并非如此。