JDT中没有Eclipse环境的IJavaProject
我的服务器中有一个导出的EclipseJava项目,我希望能够编译该项目并将JDT中没有Eclipse环境的IJavaProject,eclipse,eclipse-plugin,eclipse-jdt,Eclipse,Eclipse Plugin,Eclipse Jdt,我的服务器中有一个导出的EclipseJava项目,我希望能够编译该项目并将ASTParser与JDT一起使用 我可以使用BatchCompiler编译该项目,但是它在控制台上运行,并给我PrintWriter而不是一系列问题和错误。另外,我希望能够在Eclipse中使用建议,并且BatchCompiler不是为此目的而构建的 因此,我尝试使用ASTParser,它可以与char[]或ICompilationUnit一起使用CompletionProposalCollector和org.ecli
ASTParser
与JDT一起使用
我可以使用BatchCompiler
编译该项目,但是它在控制台上运行,并给我PrintWriter
而不是一系列问题和错误。另外,我希望能够在Eclipse中使用建议,并且BatchCompiler
不是为此目的而构建的
因此,我尝试使用ASTParser
,它可以与char[]
或ICompilationUnit
一起使用CompletionProposalCollector
和org.eclipse.jdt.internal.compiler.compiler.compiler
需要ICompilationUnit
,因此我必须创建一个ICompilationUnit
,它只能由IJavaProject()创建才能使用这些功能
创建IJavaProject
的唯一方法似乎是使用ResourcesPlugin.getWorkspace()
,但它返回java.lang.IllegalStateException:Workspace已关闭。
在我的计算机上,原因似乎是我编写的程序不是Eclipse插件
有没有办法在没有Eclipse环境的情况下创建IJavaProject?我也遇到过类似的问题。下面是如何在没有Eclipse的情况下使用
ASTParser
(它只需要类路径上的核心JDT JAR):我遇到了类似的问题。下面是如何在不使用Eclipse的情况下使用ASTParser
(它只需要类路径上的核心JDT JAR):从注释中可以看出,您尝试的不仅仅是解析,实际上您还想获得某种形式的内容辅助
恐怕你要求太多了。没有简单的方法可以在运行的Eclipse实例之外获得JDT的功能和灵活性(相信我,我已经尝试过了)。没有简单的方法,但如果你勇敢且意志坚强,你可以尝试以下方法之一:
实际上,我对做这样的事情很感兴趣(但我没有时间去做)。如果您正在认真考虑创建一个可以在服务器上运行的无头JDT,请随时询问更多信息。我对JDT的内部结构非常熟悉。从评论中可以看出,您尝试的不仅仅是解析,实际上还希望获得某种形式的内容帮助 恐怕你要求太多了。没有简单的方法可以在运行的Eclipse实例之外获得JDT的功能和灵活性(相信我,我已经尝试过了)。没有简单的方法,但如果你勇敢且意志坚强,你可以尝试以下方法之一:
实际上,我对做这样的事情很感兴趣(但我没有时间去做)。如果您正在认真考虑创建一个可以在服务器上运行的无头JDT,请随时询问更多信息。我非常熟悉JDT内部结构。当前版本的程序与您的示例类似,当我使用char[]作为ASTParser的源时,它会创建CompilationUnit,而我无法编译项目或使用提案。要使用提案API,您需要一个工作区。有太多的依赖关系需要解决。如果你能解释一下你需要实现什么,也许我可以帮你。为什么AST不够?“在线java Web IDE”->查看Orject Project()。@ OrIon是不是java IDE(),我的观点是,如果你正在考虑为Web浏览器构建一个java IDE,那么你可以从OrIon开始作为你的基础。它提供了您需要的结构,例如工作区、项目等。您所询问的内容…当前版本的程序与您的示例类似,当我使用char[]作为ASTParser的源时,它会创建CompilationUnit,而我无法编译项目或使用提案。要使用提案API,您需要一个workspac