将项目构建路径传递到Eclipse中的External Tool



我想在Eclipse中设置一个外部工具,通过直接调用javac来对项目中的类进行一些自定义编译。为此,我需要将classpath参数传递给javac,以便它知道在哪里查找依赖关系。

是否有可能,例如在"外部工具配置"对话框中,告诉Eclipse将所有引用的库和源目录的列表传递给我的外部工具,最好是以javac所期望的分号分隔的方式?有一个名为project_classpath的变量,但不幸的是,它返回Eclipse生成的编译类的输出目录,而不是依赖目录。

我认为Eclipse应该在某个地方随时可以获得这些信息,因为它可能需要这些信息来调用javac

有没有其他地方我可以找到这些信息?不幸的是,与该项目相关联的.classpath文件包含对Eclipse内部定义库的各种神秘引用,而不是简单的路径名。

我使用最小应用程序来打印jsp编译任务的类路径。根据需要调整

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 truen");
sb.append("-compileToDir /tmp/jsp_compilen");
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);
}
}

最新更新