前段時間我寫了一個Eclipse插件,它利用JDT來做一些解析。現在我正在考慮製作此應用的命令行版本。自然,我希望重用解析代碼,所以我需要讓JDT在Eclipse之外工作。有什麼辦法可以做到這一點(也許建立一些包裝等)? JDT庫中是否有任何端口提供相同的API /功能,但獨立於Eclipse工作?沒有Eclipse的JDT?
任何幫助將不勝感激。謝謝。
前段時間我寫了一個Eclipse插件,它利用JDT來做一些解析。現在我正在考慮製作此應用的命令行版本。自然,我希望重用解析代碼,所以我需要讓JDT在Eclipse之外工作。有什麼辦法可以做到這一點(也許建立一些包裝等)? JDT庫中是否有任何端口提供相同的API /功能,但獨立於Eclipse工作?沒有Eclipse的JDT?
任何幫助將不勝感激。謝謝。
JDT分爲兩個不同的部分。解析部分應該都在插件中,根本沒有UI依賴關係。我認爲他們確實依賴於Eclipse運行時,這意味着您或多或少需要創建一個「無頭RCP應用程序」。
嗯,我不能給「接受答案」以無論是:(這篇文章和下面的一個是有用的,並尋找「無頭RCP應用程序」讓我看起來是正確的軌道。謝謝! – alexloh 2010-01-24 19:00:18
您可以在命令行中使用JDT Core。解析,AST,重寫所有內容都可以在沒有UI的情況下完成。
如何在命令行上使用jdt核心? – necromancer 2014-02-10 10:11:10
您需要深入瞭解文檔和類以找出正確的調用。例如:http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-230.htm – 2014-02-10 18:05:31
爲了能夠使用AST類在獨立的應用程序,你必須使用這些庫(其中xx代表版本):
org.eclipse.core.contenttype_xx.jar
org.eclipse.core.jobs_xx.jar
org.eclipse.core.resources_xx.jar
org.eclipse.core.runtime_xx.jar
org.eclipse.equinox.common_xx.jar
org.eclipse.equinox.preferences_xx.jar
org.eclipse.jdt.core_xx.jar
org.eclipse.osgi_xx.jar
如果用JDT安裝了Eclipse所有這些罐子都在日食的插件文件夾,例如在Windows中它可能在C:\Program Files\eclipse\plugins\
我解析源代碼以獲取其結構(抽象語法樹)。這個鏈接顯示了我正在談論的內容(http://www.vogella.de/articles/EclipseJDT/article.html)。像Antlr等,除了我已經用JDT編寫代碼之外,我想重複使用它,而不是用Antlr重寫。 對不起,我想我沒有說清楚 – alexloh 2010-01-22 04:09:26