首页 / JAVA / Java以编程方式导入
Java以编程方式导入
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java以编程方式导入,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2378字,纯文字阅读大概需要4分钟。
内容图文
![Java以编程方式导入](/upload/InfoBanner/zyjiaocheng/733/748c8fe8d49b4a01838514f1f55692c5.jpg)
我已经构建了一个eclipse插件,它将生成一个带有新类的新Java项目.
生成类后,插件必须遍历每个类并执行自动“组织导入”操作(必须以编程方式完成 – 而不是通过Eclipse SaveAction选项).
我尝试过代码段来做同样的事情.
public void organizeImports(IProject iProj) {
try {
IPackageFragment[] packages = JavaCore.create(iProj)
.getPackageFragments();
for (IPackageFragment mypackage : packages) {
if (mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) {
for (ICompilationUnit currentCompilationUnit : mypackage
.getCompilationUnits()) {
try {
System.out.println("CompilationUnit: " + currentCompilationUnit);
IEditorPart editorPart = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage()
.getActiveEditor();
PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getActivePage().activate(editorPart);
final IHandlerService handlerService = (IHandlerService) PlatformUI
.getWorkbench().getService(
IHandlerService.class);
IHandler handler = new AbstractHandler() {
public Object execute(ExecutionEvent event)
throws ExecutionException {
System.out.println("Inside execute");
return null;
}
};
handlerService
.activateHandler(
"org.eclipse.jdt.ui.edit.text.java.organize.imports",
handler);
handlerService
.executeCommand(
"org.eclipse.jdt.ui.edit.text.java.organize.imports",
null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
现在它为几个类成功导入,而对于其他类,它会抛出类似的东西
MESSAGE A handler conflict occurred.
This may disable some commands.!MESSAGE Conflict for 'org.eclipse.jdt.ui.edit.text.java.organize.imports':
HandlerActivation(commandId=org.eclipse.jdt.ui.edit.text.java.organize.imports,
handler=com.plugin.generator.wizard.AdGenaratorWizard$1@2b8e2b8e,expression=,sourcePriority=0)
HandlerActivation(commandId=org.eclipse.jdt.ui.edit.text.java.organize.imports,
handler=com.plugin.generator.wizard.AdGenaratorWizard$1@25f025f0,expression=,sourcePriority=0)
如果您试图了解究竟发生了什么,假设您想要使用“Ctrl Shift O”手动组织导入,有时eclipse会提示您一个窗口,要求选择导入语句以在类似的包中进行选择. (例如:选择“org.eclipse.ui.commands”或“org.eclipse.core.commands”)这就是为什么会出现上述错误消息的原因.
当我尝试通过我的代码自动运行组织导入时,它会进入选择导入的冲突并返回异常.
那么有什么方法可以解决这个问题吗?希望你明白究竟发生了什么.
请建议我如何做到这一点.
解决方法:
我在这上面大约一个星期,终于让它工作了……
内容总结
以上是互联网集市为您收集整理的Java以编程方式导入全部内容,希望文章能够帮你解决Java以编程方式导入所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。