首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaHelp:从外部jar文件加载帮助集

JavaHelp:从外部jar文件加载帮助集
EN

Stack Overflow用户
提问于 2016-09-12 20:53:04
回答 1查看 288关注 0票数 0

我正在使用一个独立的java程序,它使用javahelp系统来存储帮助文件。该程序有一堆内置的“模块”,用户可以在运行时选择这些模块来对数据进行各种分析。我添加了运行插件模块的功能,这些插件模块放在插件文件夹中,这样其他开发人员就可以创建自己的算法。

我从插件文件夹中的.class文件开始,以及javahelp .hs文件和支持文档(.xml、.html、.map等)。我能够从插件文件夹中读取.hs文件,并与主程序帮助系统合并,没有问题。

然后,我将所有的文件捆绑在一个jar中,因为这就是我们所设想的大多数开发人员分发插件的方式。.class文件仍然可以加载和运行,但是现在我不能再加载.hs文件。HelpSet类需要一个带有.hs文件位置的URL。我要告诉它查看jar文件的内部吗?任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-09-13 19:03:55

为了防止有人遇到同样的问题,我的问题是我用来从jar文件内部访问帮助集文件的路径名的格式。here的格式(来自JavaHelp用户指南的4.6.7节中找到的URL )如下:

代码语言:javascript
复制
URL helpSetLoc = new URL("jar:file:" + File.separator + pluginList.get(i).getJarFile()+"!/"+pluginList.get(i).getHelpSetName());

我的getJarFile()方法返回jar文件的名称(包括绝对路径)。我的getHelpSetName方法返回由正斜杠分隔的包名和帮助集名称,就像在myPlugin/pluginHelp.hs中一样。

我的问题是,我在包名和帮助集文件名之间使用了File.separator,这会在windows中返回一个反斜杠。我还尝试了一个双反斜杠,也是这样做的。我必须使用正斜杠,否则HelpSet构造函数将无法找到该文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39450788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档