jdt格式化HTML,如何将修改后的JDT抽象语法树反映回原始的Java源文件。

我解析它有方法用cofoja书面合同一个Java源代码文件。现在当我创建输入文件的抽象语法树(ast)并对其进行修改时。它可以让我看到Document document,被修改的对象。但是,当我尝试这个文件反映回原来的源文件,下面的声明将引发异常:

// get the buffer manager

ITextFileBufferManager bufferManager = FileBuffers.getTextFileBufferManager();

以下异常获取MyVisitor.java

Exception in thread "main" java.lang.ExceptionInInitializerError

at ASTModifier.main(ASTModifier.java:205)

Caused by: java.lang.IllegalStateException: Workspace is closed.

at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:340)

at org.eclipse.core.filebuffers.FileBuffers.(FileBuffers.java:52)

... 1 more

由于抛出ITextFileBufferManager bufferManager声明这,我不能够改变原始的Java文件。我在网上找到的一个链接:http://www.programcreek.com/2011/05/java-lang-illegalstateexception-workspace- is-closed /#comment-1939

它说:简而言之,这是由于简单地将依赖jar文件添加到常规java项目引起的。要使用JDT,您需要让该程序作为插件(或至少启用OSGi的应用程序)运行,而不是将其作为jar使用。

因为我正在创建一个简单的java项目,是使用FileBuffers类的问题吗?我需要创建插件吗?

2011-08-07

sagar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值