我的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文件?如果没有,是否有任何建议的解决方法让我获得类似的结果?
提前致谢!!
答案 0 :(得分:0)
您必须在应用程序启动的任何可用端口上按照here说明启动内部服务器,并将您的html文件作为静态资源提供给服务器。
然后设置browser.setURL(homeURL)
。所有后续超链接现在将指向服务器,服务器知道如何提供所请求的资源。
当您在eclipse中运行或调试应用程序时,超链接被解析为文件系统路径(例如文件:// C:\ workspace ....),然后事情正常。但是当你从一个可运行的jar中运行你的应用程序时,情况并非如此。