2012-09-23 28 views
3

我想在Eclipse中設置一個外部工具,它通過直接調用javac來自定義編譯項目中的類。爲此,我需要通過javacclasspath參數,以便知道去哪裏尋找依賴關係。將項目構建路徑傳遞給Eclipse中的外部工具

是否有可能,例如在External Tools Configurations對話框中,告訴Eclipse將所有引用的庫和源目錄的列表傳遞給我的外部工具,最好使用javac期望的分號分隔的方式?有一個名爲project_classpath的變量,但不幸的是,它返回由Eclipse生成的已編譯類的輸出目錄,而不是依賴目錄。

我想Eclipse應該有這個信息隨時可用,因爲它可能需要它自己調用javac

是否有其他地方我可以找到這些信息?不幸的是,與該項目相關的.classpath文件包含各種對Eclipse內部定義的庫的神祕引用,而不是簡單的路徑名。

+0

與螞蟻有類似的問題我已經檢查在外部工具對話框的JRE選項卡「在工作區中的同一JRE中運行」框。另外,您可以在類路徑選項卡上添加庫和文件夾(選擇用戶條目)。 你使用的是什麼工具 - 螞蟻還是其他? – FunThomas424242

回答

0

我使用最少的應用程序來打印出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 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); 
    } 
} 
相關問題