如何在一个自动化的NetBeans平台应用程序中创建JavaHelp


基于Maven的NetBeans平台模块没有JavaHelp模板,因此您需要自己设置JavaHelp。这有点棘手,涉及几个容易出错的不同部分(这就是JavaHelp模板如此方便的原因)。以下是如何在基于Maven的NetBeans平台模块中设置JavaHelp的说明。

请执行以下操作:

  1. 在每个需要提供JavaHelp集的模块中,将这一行添加到清单中:
    OpenIDE-Module-Requires: org.netbeans.api.javahelp.Help
  2. 在容器项目的POM中(即不是应用程序项目,也不是功能模块项目),在“org.codehaus.mojo”的定义中添加“依赖项”部分,同时将“版本”设置为3.0:
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>nbm-maven-plugin</artifactId>
        <version>3.0</version>
        <extensions>true</extensions>
        <dependencies>
            <dependency>
                <groupId>javax.help</groupId>
                <artifactId>javahelp</artifactId>
                <version>2.0.02</version>
            </dependency>
        </dependencies>
        <configuration>
            <brandingToken>${brandingToken}</brandingToken>
            <cluster>foobar</cluster>
        </configuration>
    </plugin>

    请注意,“版本”设置为3.0。我无法让JavaHelp在3.1或3.2(6.9+中的默认值)下工作,不得不恢复到3.0。也许有人能在这一点上以某种方式纠正我。

    确保其他项目(即应用程序项目和功能模块项目)中的POMs没有自己的“org.codehaus.mojo”定义。也就是说,容器项目应该为整个应用程序处理这个定义。

  3. 现在,您已经将应用程序配置为使用JavaHelp,并指明了将提供JavaHelp的每个模块。在这些模块中,您现在需要提供JavaHelp内容。最简单的方法是创建一个基于蚂蚁的NetBeans平台模块。然后,使用基于蚂蚁的NetBeans平台项目可用的向导来创建JavaHelp集。然后将生成的文件复制到基于Maven的NetBeans平台项目中:

    请注意上面截图中的以下内容。“resources”文件夹包含“module1-helpset.xml”文件,该文件通过包含以下内容来引用“src/main/javahelp”文件夹中的文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE helpsetref PUBLIC "-//NetBeans//DTD JavaHelp Help Set Reference 1.0//EN" "http://www.netbeans.org/dtds/helpsetref-1_0.dtd">
    <helpsetref url="nbdocs:/org/demoapp/demomodule1/docs/module1-hs.xml"/>

    请注意,上面的“layer.xml”文件添加了以下文件夹:

    <folder name="Services">
        <folder name="JavaHelp">
            <file name="module1-helpset.xml" url="module1-helpset.xml">
                <attr name="position" intvalue="3818"/>
            </file>
        </folder>
    </folder>

    文件夹“src/main/javahelp”是新的,我自己创建的,通过从基于蚂蚁的NetBeans平台模块复制该文件夹。这是您现在将在Mavenized应用程序中创建所有帮助主题的地方。映射文件列出了帮助主题的标识键,目录列出了定义目录的键,索引也同样定义了帮助集的索引。

这就是你所需要的。现在,您已经让JavaHelp在您的Mavenized NetBeans平台应用程序中工作了: