0

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

提前致谢!!

4

1 回答 1

0

您必须按照此处所述在应用程序启动的任何可用端口上启动内部服务器,并使您的 html 文件可用作服务器的静态资源。

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

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

于 2013-06-14T22:10:47.597 回答