我目前正在開發編程導師。這些導師是獨立的Java應用程序。我使用Eclipse JDT來解析Java源代碼並構建相應的抽象語法樹。此外,我想捕獲如果學生在Eclipse中編譯他的代碼時將會啓動的錯誤消息。 Eclipse使我們能夠解析和跟蹤特定字符串代碼的錯誤消息(無需上下文)。在編譯完字符串之後,我收到了9條錯誤消息。當我在Eclipse項目中粘貼該代碼時,我收到了大約90條錯誤消息。顯然,目的是儘可能多地跟蹤錯誤。我懷疑這取決於源代碼的上下文。跟蹤Eclipse JDT編譯器錯誤消息(IProblem)
爲此,我嘗試以編程方式創建工作區內的項目並創建包含源代碼字符串的文件。但是,執行我的Java應用程序時,出現以下錯誤消息:
Exception in thread "main" java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:399)
at com.example.helloworld.JavaErr.main(JavaErr.java:67)
我閱讀了許多關於此主題的文章。我們似乎只能在Eclipse插件項目中訪問工作區內的資源。在放棄這個「解決方案」路徑之前,是否有可能知道我們是否可以在外部獨立Java應用程序中以編程方式訪問工作區及其所有資源?