Javadoc を組み込む その 3

どういう設定をすればいいのか分からなくなってしまったので、ちょっと視点を変えてみます。

LG3D のプロジェクトで lg3d-core.jar のプロパティで Javadoc の場所を指定して、JavaProject の CLASSPATH を見てみようというわけです。

で、WrpeLaunchConfigurationDelegate クラスの launch メソッドに CLASSPATH を出力するコードを書いてみました。

        IJavaProject project = getJavaProject(configuration);
        IClasspathEntry[] initialEntries = project.getRawClasspath();

        for (IClasspathEntry entry: initialEntries) {
            System.out.println("Entry: " + entry);
            IClasspathAttribute[] attrs = entry.getExtraAttributes();
            System.out.println("  Attr Size: " + attrs.length);
            for (IClasspathAttribute attr: attrs) {
                System.out.println("  Attr: " + attr);
            }
        }

実行して、プロジェクトから LG3D を起動させると

Entry: /test[CPE_SOURCE][K_SOURCE][isExported:false]
  Attr Size: 0
Entry: org.eclipse.jdt.launching.JRE_CONTAINER[CPE_CONTAINER][K_SOURCE][isExported:false]
  Attr Size: 0
Entry: D:/lg3d/lib/ext/lg3d-core.jar[CPE_LIBRARY][K_BINARY][isExported:false][attributes:javadoc_location=file:/D:/lg3d/docs/javadoc/api]
  Attr Size: 1
  Attr: javadoc_location=file:/D:/lg3d/docs/javadoc/api

あれれ、昨日のアトリビュートと同じです。ますます訳が分からなくなってしまいました。でも、よく見くらべてみると...

昨日のアトリビュート

  Attr: javadoc_location=D:\lg3d/docs/javadoc/api

今日のアトリビュート

  Attr: javadoc_location=file:/D:/lg3d/docs/javadoc/api

そうか、file:/ が抜けているわけですね。