3

直接呼び出してプロジェクト内のクラスのカスタム コンパイルを行う外部ツールを Eclipse に設定したいと思いjavacます。このためには、依存関係を探す場所がわかるようにパラメーターjavacを渡す必要があります。classpath

たとえば、[External Tools Configurations] ダイアログで、Eclipse に、参照されているすべてのライブラリとソース ディレクトリのリストを外部ツールに渡すように指示することはできjavacますか? という変数がありますがproject_classpath、残念ながら、依存ディレクトリではなく、Eclipse によって生成されたコンパイル済みクラスの出力ディレクトリを返します。

Eclipse はこの情報をどこかですぐに利用できるようにする必要があると思いますjavac

この情報を見つけることができる他の場所はありますか? 残念ながら、.classpathプロジェクトに関連付けられたファイルには、単純なパス名ではなく、Eclipse 内部で定義されたライブラリへのあらゆる種類の不可解な参照が含まれています。

4

1 に答える 1

0

私は最小限のアプリケーションを使用して、jsp-compilation タスクのクラスパスを出力します。必要に応じて適応

public class JspCompileArgs {
    static public void main(String [] args){
        StringBuilder sb=new StringBuilder();
        sb.append("-war.path \"${resource_loc}/src/main/webapp\"\n");
        sb.append("-keepgenerated true\n");
        sb.append("-compileToDir /tmp/jsp_compile\n");
        sb.append("-additional.classpath \"");
        ClassLoader cl = ClassLoader.getSystemClassLoader();
        URL[] urls = ((URLClassLoader)cl).getURLs();
        for(URL url: urls){
            sb.append(url.getFile());
            sb.append(";");
        }
        sb.append('"');
        System.out.println(sb);
    }
}
于 2013-01-09T10:44:24.397 に答える