Oracle Help — 常见问题解答

本页面是有关 Oracle Help 技术及其两个产品(Oracle Help for the Web (OHW) 和 Oracle Help for Java (OHJ))的常见问题解答。

一般问题

OHW 配置和部署

OHJ 配置和部署

创作

导航视图

开发工具包

国际化和本地化

一般问题

我应该使用 Oracle Help for the Web (OHW) 还是 Oracle Help for Java (OHJ)?

具体取决于您的应用需求。OHW 是一个基于 Java servlet 的 Web 应用。因此,选择它作为其他 Web 应用的帮助系统很合适。Web 应用的易访问性还让 OHW 成为独立托管帮助系统的不错选择。在将繁重的处理任务分配给服务器端时,OHW 的客户端软件需求最低。

OHJ 是一个 Java 客户端应用,也可以作为小程序运行。因此,它适合用作 Java 客户端和小程序的帮助系统。OHJ 还提供了一个用于创建全文搜索的实用程序和一个用于创建在 OHJ 或 OHW 中使用的帮助集文件的创作向导。

虽然大多数 Oracle Help 特性在这两个产品上均可用,但是如果您要使用特定的特性,最好查看一下产品文档。

我在哪里可以获得 OHJ 和 OHW?

可以从 OTN(Oracle 技术网)网站的 Oracle Help 技术部分获取下载。

我如何获得对 Oracle Help 的支持?

使用该常见问题解答相关的论坛。OTN 的 Oracle Help 技术部分还提供了其他信息。点击这里查看 Oracle Help 指南。

如何获得 Oracle Help 技术早期版本,包括 OHW-UIX ?

要获取 Oracle Help 技术的早期版本(包括 OHW UIX 早期版本),请联系 ohinfo_us@oracle.com

OHW 配置和部署

我应该将哪些 Web 服务器用于 OHW?

根据 Sun Microsystems(链接)的定义,OHW 需要一个支持 Java Servlet API 2.0 或更高版本的 servlet 引擎。以下是这些服务器的新版本:

哪些浏览器支持 OHW?

如何更改 OHW 演示包中使用的 URL?

要更改基本 URL,请编辑 http-web-site.xml 中的以下行,如下所示

<web-app application="ohw-eapp" name="ohw" root=" /myurl" ... />

要更改 URL 结尾附加的“/help/”,请编辑 web.xml 中的以下行:

<url-pattern>/ myhelp/*</URL-pattern>

这些更改现在将生成如下 URL:

http"//mycompany.com:port/ myurl/myhelp/

我有一个 OHW 实例,但是希望为每个帮助集提供不同的 URL。我该怎么做呢?

创建两个不同的应用服务器 Web 模块,用于创建如下 URL:

mywebsite.com/project_one/help
mywebsite.com/project_two/help

1.首先,在同一 OHW OC4J 应用(位于 j2ee/home/applications/OHW)下创建两个 Web 模块,如下所示。

j2ee/home/applications/OHW directory structure
================================================
+---META-INF

+---project_one
| +---cabo
| +---helpsets
| | +---project_one
| +---jsLibs
| +---WEB-INF
| +---lib

+---project_two
| +---cabo
| +---helpsets
| | +---project_two
| +---jsLibs
| +---WEB-INF
| +---lib

2.然后,编辑在 META-INF 目录中找到的 application.xml,在同一 <application> 元素中定义两个 Web 模块:

j2ee/home/applications/OHW/META-INF/application.xml
======================================================
<module>
<web>
<web-uri>project_one</web-uri>
<context-root>/</context-root>
</web>
</module>

<module>
<web>
<web-uri>project_two</web-uri>
<context-root>/</context-root>
</web>
</module>

3.然后,在 j2ee/home/config/default-web-site.xml 中为每个网站/url 创建一个单独的条目。这些条目将位于同一 <web-site> 元素下

j2ee/home/config/default-web-site.xml
======================================================================
<web-app application="OHW" name="project_one" root="/project_one" />
<web-app application="OHW" name="project_two" root="/project_two" />

我可以在 OHW 的 .jar 文件中包含我的帮助集吗?

可以,只需执行以下两个简单步骤,即可在 OHW 和 OHJ 中使用 Jar 文件:

  1. 将整个帮助集和控制文件存档到一个 Jar 文件中(但不包括 OHW 配置文件 ohwconfig.xml)
  2. 对于 OHW,编辑 ohwconfig.xml 以指明 Jar 文件源是一个帮助集。

    <helpset jar="myapp/helpset.jar" location="myapp.hs">

我已经在 UNIX 计算机上安装了 OHW,并看到我的帮助内容正常。但是,与我在 Windows 计算机上看到的相比,按钮和选项卡的外观质量较差。应该如何纠正?

您需要设置 UNIX 服务器以正确使用 XServer。有关详细信息,请参阅 UIX 开发人员指南(作为 Oracle9i JDeveloper 帮助的一部分在线提供)的“X Server 图像生成配置”一章。

OHJ 配置和部署

我可以从 Web 浏览器运行 OHJ 吗?

可以,但您应该知晓以下事项:

OHJ 支持可插拔的 HTMLBrowser 接口(参考 JavaDoc 规范)。OHJ 客户端可以在创建 Help 对象时指定要使用的浏览器。如果要从浏览器运行 OHJ,您有两种选择:

  1. 我们建议您使用 ICEBrowser 作为 HTMLBrowser。ICEBrowser 提供了其他浏览器不提供的功能,例如,弹出窗口、关联链接以及作者定义的窗口类型。
  2. OHJ 还支持使用底层 Web 浏览器(如 Internet Explorer 或 Netscape Communicator)显示 HTML 文件。在这种情况下,OHJ 作为 Java 小程序运行,您应该使用将 AppletContext 作为参数的 Help() 构造函数。

运行 OHJ 需要什么样的 Java 配置?

首先,Java 虚拟机(JDK 或 JRE)版本应该是版本说明中指定的版本之一。目前推荐使用 Sun Microsystems Java SE 5.0 或更高版本。

其次,所需的运行时库需要位于 JVM 的类路径中。

  • help-<版本>Jar
  • ohj-jewt-<版本>Jar
  • oracle_ice-<版本>Jar
  • swingall.jar
  • help-nls-<版本>Jar(如果使用 Oracle Help 自带的翻译)

最后,如果您处于创作模式并使用索引器,则 help-indexer-<版本>Jar 需要位于类路径中。其他 OHJ 实用程序(例如,创作向导)位于 OHJ 安装的 bin 目录中。它们的启动脚本已经设置了正确的类路径。

为什么将 ICEbrowser 用作 OHJ 的默认浏览器组件?

在 ICEsoft 的许可下,Oracle 已对 ICEbrowser 进行了修改,使其支持 Oracle Help 中的特殊特性。其他浏览器不支持这些特性。

我可以使用 ICEsoft 提供的更新版本的 ICEbrowser 吗?

很遗憾,还不能。ICEbrowser 必须经过大量修改才能支持 Oracle Help。使用未进行这些修改的 ICEbrowser 将无法正常工作。

创作

如何在独立模式下测试文档?

OHJ 附带了一个名为“helpsetDemo”的测试应用。“bin”文件夹中有一个用于启动该应用的批处理文件。在 Windows 平台上,您还可以从“开始”菜单启动该应用 — 查找 Oracle Help for Java 下的 HelpSet Previewer。helpsetDemo 将提示您输入要测试的图书的信息。

当我在命令提示符下运行创作工具时,出现“Can't find class ....”错误。应该如何修复?

这说明发生了以下一种或多种情况:

  • 您的 CLASSPATH 缺少与 OHJ 相关的 jar 文件。
  • OHJ jar 文件在 CLASSPATH 中的位置不正确。当您移动 Help 安装文件夹但忘记更新 CLASSPATH 时可能会发生这种情况。
  • 如果您使用批处理文件运行向导,则可能已经安装了较新版本的 JDK 并删除了安装 OHJ 所使用的 JDK。在这种情况下,您需要更新批处理文件以使用新的 JDK。如果您将 JDK 文件夹移到其他位置,同样应该这样做;这是因为在安装时 JDK 路径被硬编码到批处理文件中。

如何将在其他创作系统中创建的帮助文件转换为 Oracle Help 格式?

Oracle Help 将支持许多文件格式的原生格式,而无需转换。Oracle Help 支持以下文件类型的原生格式:

文件类型 说明
.xml

以下文件的 Oracle Help 文件格式

  • 映射文件
  • 目录
  • 索引文件
  • 链接文件
.hs 帮助集的 Oracle Help 文件格式。
.toc Oracle Help 目录(旧版本)
.tok Oracle Help 索引(旧版本)
.hhc MS HTML Help 目录
.hhk MS HTML Help 索引
.idx Oracle Help 搜索索引

  • 对 Xml 和 Hs 文件格式的支持还包括对 JavaHelp 文件格式的支持。Oracle Help 指南的“文件格式”一节中对区别加以说明。
  • 链接文件和搜索索引文件格式是 Oracle Help 特有的,无法由其他创作系统生成。

我有一个现成的 OHJ 帮助集。如何将这些文件转换为 OHW 格式?

OHJ 文件不需要转换。OHJ 和 OHW 使用相同的文件格式。要将一个帮助集从 OHJ 迁移到 OHW,您需要做的就是按照 Oracle Help 指南中的说明来配置和部署 OHW。

导航视图

为什么我的搜索索引未正确更新?

索引器需要重新运行。要捕获对主题文件的新近更改,索引器必须作为准备要部署的帮助集之前的最后一个步骤运行。

为什么我的搜索索引指向的文件不存在?

这些文件是当索引器已经运行但尚未部署时位于目录中的外部文件。当索引器运行时,它将根据目标目录及其所有子目录中所有 .htm/.html 文件的内容文本来创建索引。

如何创建日语搜索索引?

使用 OHJ 附带的日语索引器。典型的语法如下:

Java -mx64m oracle.help.tools.index.JapaneseIndexer -e=MS932 D:\MyHTMLFiles myIndex.idx

其中,MS932 是在 Windows 系统上创建的日语文件的标准编码。

为什么 topicid 链接、弹出窗口或相关链接在 OHW 中不起作用?

这些特性是通过 OHW 中的 JavaScript 实现的。将您的浏览器设置为启用 JavaScript,或者将您的浏览器更新为支持 JavaScript 的浏览器。

如何设置 Oracle Help for the Web 才能部署多个帮助集?

Oracle Help 可以将多个帮助集作为一个合并的帮助集或单独的帮助集进行部署。

要合并帮助集,请将 combineBooks 参数设置为“true”。随后,相同导航视图就好像在使用单个集成的帮助集。对于 OHW,combineBooks 参数在 <books> 元素中设置;对于 OHJ,它是 Help() 构造函数的参数。

要使用单独的帮助集,请将 combineBooks 参数设置为“false”,然后 Oracle Help 将自动显示一个帮助集切换器下拉列表,供您选择当前的帮助集。包括索引在内的所有导航视图仅适用于当前的帮助集。

这项工作是在运行时完成的。不需要任何特殊的构建脚本或其他预处理工作。

我合并了帮助集,结果有两个不同的目录选项卡。如何确保只使用一个选项卡?

所有目录视图的 <label> 元素必须相同。空标签或缺失标签将默认为“Contents”。它不会匹配标签为“Contents”的视图。

解决此问题的另一个方法是将 useLabelInfo 设置为“false”。然后,在合并时将忽略该标签,但现在仅基于 <type> 元素,这样将合并相同类型的所有视图。

对于 OHW,useLabelInfo 位于 OHW 配置文件 (ohwconfig.xml) 的 <books> 元素中。对于 OHJ,useLabelInfo 是 Help() 构造函数的参数。

我有一个大型帮助集,我希望将它分发到多个作者,然后在运行时合并。可以利用 Oracle Help 执行该操作吗?

可以。只要不同的 Hs (helpset) 文件中有两个或多个 <view> 元素的 <label> 和 <type> 元素相同,Oracle Help 就会合并帮助集。合并的关键字索引将按照用户语言的顺序自动排序,而搜索将在所有合并的帮助集中进行。

此外,如果目录视图的 <title> 元素也相同,Oracle Help for Java 将合并顶层目录。如果另一个帮助集具有不同的标题,则将在目录中创建另一个主题。该功能尚未在 Oracle Help for the Web 中实现。

例如,以下 3 个单独创作的帮助集目录

  • TitleA
    • 1.1
    • 1.2
  • TitleA
    • 1.3
    • 1.4
  • TitleB
    • 2.0

将合并到以下目录中

  • TitleA
    • 1.1
    • 1.2
    • 1.3
    • 1.4
  • TitleB
    • 2.0

运行搜索之后,结果集中的所有项后面都带有类似“Source:Welcome”和“Source:Glossary”的标记。该信息源自哪里?

它们是包含该链接的各个帮助集的 SearchNavigator 视图中的 <title> 元素。

如何链接两个不同 .jar 文件中的主题?

使用 Oracle Help topicid 协议,而非常规的超链接。例如,请考虑与 helpset2.jar 中的 b.htm 链接的 helpset1.jar 中的 a.htm。超链接应如下所示:

<a href="topicid:topicb">

其中,topicb 在 map.xml 文件中定义为:

<mapID target="Here is topic b" url="b.htm" />

仅当 a.htm 和 b.htm 包含在同一 Jar 文件中时,像 <a href="b.htm"> 这样的常规超链接将才起作用。

开发工具包

CSHManager 类的作用是什么?我应该使用它吗?

HelpManager 是一个帮助器类,用于组织与您的帮助相关的代码。它可以提供一些很有用的功能,如 F1 帮助和右键单击帮助。有关更多信息,请参考 Oracle Help for Java 开发人员指南

OHJ 中的 HTMLBrowser 是什么?在哪里使用?

HTMLBrowser 是 OHJ 定义的接口。HTMLBrowser 类主要用于显示帮助主题。OHJ 让您可以灵活地选择用于显示 HTML 的浏览器。OHJ 附带的 ICEBrowser 作为默认浏览器,但是作为小程序运行时,您可以使用底层 Web 浏览器。

如何将第三方 HTML 组件用作我的 HTMLBrowser?

您应该创建一个新类,作为 OHJ 与第三方浏览器之间的粘合剂。这个粘合剂类将实现 HTMLBrowser 接口,并转换 OHJ 与 HTML 组件之间的调用。

用户可以将自己的 Web 浏览器用作 OHJ 中的 HTMLBrowser 吗?

可以,但是只能作为小程序运行。使用将 AppletContext 作为参数的 help 构造函数。

国际化和本地化

如何设置 Oracle Help for Java 才能提供翻译好的帮助系统?

首先,将翻译好的帮助放到各种语言的单独目录中。各个语言的目录名应该为 ISO 639 语言代码,例如,英语为“en”,法语为“fr”,日语为“ja”。如果您提供一种语言的多种方言,则应该将一种语言设为基本语言,然后添加其他版本的 ISO 3166 国家/地区代码。例如,您可以将葡萄牙语设置为“pt”来表示伊比利亚葡萄牙语,设置为“pt_BR”来表示巴西葡萄牙语。还可以设置某个国家/地区内的区域变体的其他变体,它可以作为第三个元素。

如果您希望将帮助集存档到 jar 文件,可以在创建完语言目录之后,为每种语言创建一个单独的 jar,或者为所有语言创建一个 jar。

最后,应用需要在 URL 中识别用户的基本位置、区域设置和帮助集名称。这在 oracle.help.common.util.LocaleUtils 的 JavaDoc 中进行了说明。

在运行时,Oracle Help 将查找用户的首选语言和国家/地区,如果没找到,它将首先返回基本语言,然后再根据需要返回默认语言。这本质上是 Java 区域设置查找机制。

如何设置 Oracle Help for Web 才能提供翻译好的帮助系统?

您需要为每种语言设置不同的 Web 应用 (servlet)。每个 Web 应用都将拥有自己的 OHW servlet 版本和自己的 ohwconfig.xml 文件。ohwconfig.xml 中的 <locale> 元素将识别 OHW 实例运行的 Java 区域环境。根据该 Web 应用的 URL,用户将自动跳转到正确的语言。请求帮助的 Web 应用可以使用 Web 应用语言(如果应用有这个概念)或 HTTP 请求语言,动态创建指向帮助系统的链接。

我的帮助主题和控制文件已经翻译为不带 ASCII 字符的语言。如何设置 Oracle Help 才能正确显示这些字符?

HTML 文件的编码应该包含在自身文件中,对于繁体中文的 Big5 编码,应使用如下语法:

<meta http-equiv=Content-Type CONTENT="text/html;charset=utf-8">

控制文件的编码在 OHJ 的 Help.setHelpEncoding 方法中设置,或者在 OHW 的 ohwconfig.xml 文件的 <controlFileEncoding> 元素中设置。

Oracle Help 提供 Oracle Help UI 的翻译吗?

是的,提供 30 种语言的用户界面字符串。

Oracle Help for Java 在 help-nls-<版本>Jar 中包含翻译的资源。启动 OHJ 时,应确保该文件位于类路径中。Oracle Help for the Web 在 ohw.jar(OHW 启动时加载)中包含翻译。

Left Curve
热门下载
Right Curve