1

Eclipse で開発したアプリケーションにJavaHelpを含めようとしています。

私は次のことをしました:

  1. プロジェクトワークスペースのサブフォルダーにJavaHelp ライブラリをダウンロードして展開します。
  2. 次のライブラリの JAR をプロジェクトのクラス パスに追加しました ( Properties->Java Build Path->Libraries->Add External JARs):

    jh.jar

    jhall.jar

    jhbasic.jar

    jsearch.jar

  3. New->Folderhelp_folder と呼ばれるフォルダー ( ) と help_source_folder と呼ばれるソース フォルダー ( ) の両方を作成し、New->Source Folderそれらの中に Master.hs というサンプル ファイルを配置しようとしました (JavaHelp アーカイブから取得しました)。

次に、アプリケーション内から次のことを行いました。

try {
    ClassLoader loader = this.getClass().getClassLoader();
    URL url = HelpSet.findHelpSet(loader, "Master.hs");
    //alternatively : URL url = HelpSet.findHelpSet(loader, "help_folder/Master.hs");
    //alternatively: URL url = HelpSet.findHelpSet(loader, "help_source_folder/Master.hs");
    JHelp jhelp = new JHelp(new HelpSet(loader, url));
} catch (HelpSetException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}

問題は次のとおりです。メソッドnullによって URL が返されるため、HelpSet オブジェクトを作成できません。findHelpSet()

これを解決する方法がわかりません。誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

1

作成するフォルダーがプロジェクトのソース フォルダー (デフォルトは 'src') 内にあることを確認してください。そうでない場合、プロジェクトをビルドするときに、出力フォルダー (デフォルトでは「bin」) に含まれません。

于 2011-11-14T03:05:39.503 に答える
0

findHelpSet() メソッドが null を返す理由は 2 つあります。

  1. クラスパスにマスター ヘルプ セット ファイルが見つかりませんでした。私がIDEを使用していたとき、それは私によく起こりました.IDEはすべてのクラスをいくつかの作業ディレクトリにコンパイルし、そこに「不明な」拡張子のファイルをコピーすることを「忘れる」ことがよくあります.hsは、追加しない限りおそらく不明な拡張子です. IDE に手動で追加します。

  2. それを見つけることはできましたが、読み取ることができませんでした。これは、セキュリティ上の問題が原因である可能性があります。また、のファイルは、IMO のバグである、読み取ることができなかったファイルと見なされるため、マスター ファイルにデータが含まれていることを確認してください。

于 2011-11-12T11:39:47.247 に答える