Tag: eclipse plugin

JUnit测试jdt.core Java模型

我正在尝试为我的代码进行一些JUnit测试。 但问题是,我使用了像DB2ompilationUnit,IPackageFragment,ITypes等Java模型。我没有得到如何创建一些ICompilationUnit然后测试。 我搜索谷歌和stackoverflow的信息,但没有找到的东西。 我的问题是,如何使用jdt.core的类进行Junit测试…有人可能会给我一些代码示例。 谢谢 这是我编码的方法: private void updateLists() { if(!getCompilationUnit().isEmpty()){ for(int i = 0; i < getCompilationUnit().size(); i++){ try { Document doc = new Document(getCompilationUnit().get(i).getSource()); int totalNumberOfCode = doc.getNumberOfLines(); IType type = getCompilationUnit().get(i).findPrimaryType(); IType[] types = getCompilationUnit().get(i).getTypes(); updateListPrimaryType(type, totalNumberOfCode, types); updateListIMethod(type); updateListMember(type,types); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } […]

如何将字符串转换为IJavaProject类型?

我正在开发一个插件。在这里我把项目作为文本框的输入,这是一个字符串,但它必须在继续之前转换为IJavaProject类型。 我怎样才能做到这一点 ? 谢谢

如何动态加载目录中的所有jar?

嗨,我正在创建一个插件,需要动态加载jar并访问这些jar的类和方法。 我尝试使用URLClassLoader,并能够加载类,如下所示 URL myJarFile = new URL(“jar”,””,”file:”+jarPath); URLClassLoader sysLoader =(URLClassLoader)ClassLoader.getSystemClassLoader(); Class sysClass = URLClassLoader.class; Method sysMethod = sysClass.getDeclaredMethod(“addURL”, new Class[]{URL.class}); sysMethod.setAccessible(true); sysMethod.invoke(sysLoader, new Object[]{myJarFile}); 但问题是我们必须通过单独指定其名称来将类加载到classLoader中。 我想要的是从class-path中的所有jar加载所有类,并在任何时间点访问它们。 是否可以使用URLClassLoader? 如果没有,那么其他选择是什么? OSGI实现这一目标有多大帮助? 提前致谢!

在BIRT中隐藏网格/表格,而不是数据源的结果

我无法在birt中更改报告以满足我的团队规范。 问题是:我正在从jdbc数据源生成报告。 我从数据库中选择项目,以便有一行或没有。 如果返回了一行,我会显示反映结果的数据。 如果没有返回行,我应该隐藏数据应该显示的整个网格并显示一条简单的消息,“无法找到数据”。 我尝试了不同的操作,例如向查询添加计数和从插件中计算的计数,但如果没有给出结果,那么就没有计算结果了。 我还尝试创建一个默认为true的布尔参数showHideData,如果其中一个关键字段为null,则showHideData设置为false。 这看起来像这样(我把它放在数据集afterClose脚本选项): if(row[“FIRM”] != null){ params[“showHideData”] = true; }else { params[“showHideData”] = false; } 不幸的是,这给了我一个javascript错误,说它无法访问null值。 我不知道该怎么做因为我不熟悉Javascript,但我很感激你能给予的任何帮助。

Mac OSX Lion上的Eclipse插件Aptana错误

我在我的Mac OSX Lion上的现有Eclipse安装中安装了Aptana插件(http://download.aptana.com/studio3/plugin/install)。 现在我的工作区有一个错误,它将Eclipse冻结大约20秒左右,错误如下: 错误的屏幕截图 我通过卸载确认它是插件,这完全消除了错误。 重新安装和返回相同的错误。 当我单击确定时,Eclipse偶尔返回,但更多时候我必须重新启动它。 出现多个错误窗口,好像它是一个循环。 部分日志列在下面。 许多这些类似的块出现在整个日志中。 任何帮助,将不胜感激。 我错过了这个插件工作所需的库吗? 用apache IOReactorException做什么? 可能是Lion的不兼容问题? !ENTRY org.eclipse.ui.workbench 4 2 2011-08-06 11:32:42.982!MESSAGE从插件调用代码时出现问题:“org.eclipse.ui.workbench”。 !STACK 0 java.lang.NoClassDefFoundError:org / apache / http / nio / reactor / IOReactorException at com.aptana.webserver.core.WebServerCorePlugin.ensureDefaultWebServer(WebServerCorePlugin.java:123)at com.aptana.webserver.core.WebServerCorePlugin。 getDefaultWebServerConfiguration(WebServerCorePlugin.java:113)位于com.aptana.preview.preview.prele上的com.aptana.preview.inle.DefaultPreviewHandler.handle(DefaultPreviewHandler.java:69)的com.aptana.preview.PreviewManager.testEditorInputForPreview(PreviewManager.java:266)位于org.eclipse.core.internal.expressions.Property.test(Property。 .java:99)org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53)atg.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:72)at org。 eclipse.ui.internal.services.EvaluationResultCache.evaluate(EVAL uationResultCache.java:74)org.eclipse.ui.internal.services.ExpressionAuthority.evaluate(ExpressionAuthority.java:165)atg.eclipse.ui.invices.services.EvaluationAuthority.refsWithSameExpression(EvaluationAuthority.java:155)at org位于org.eclipse.ui.internal.services的org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:311)的.eclipse.ui.internal.services.EvaluationAuthority.sourceChanged(EvaluationAuthority.java:129) .expressionAuthority.sourceChanged(ExpressionAuthority.java:290)atg.eclipse.ui.AbstractSourceProvider.fireSourceChanged(AbstractSourceProvider.java:99)org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkActivePart(WorkbenchSourceProvider.java:401)at at org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkActivePart(WorkbenchSourceProvider.java:300)位于org.eclipse.ui.internal的org.eclipse.ui.internal.services.WorkbenchSourceProvider.handleCheck(WorkbenchSourceProvider.java:286)。 services.WorkbenchSourceP orv.eclipse.ui.check上的orv.eclipse.ui.internal.services.WorkbenchSourceProvider $ 6.handleEvent(WorkbenchSourceProvider.java:842)中的rovider.checkOtherSources(WorkbenchSourceProvider.java:858)(EventTable.java:84) )org.eclipse.swt.wts.widgets.Display.filterEvent(Display.java:1034)位于org.eclipse.swt.widgets.Widget的org.eclipse.swt.widgets.Display.sendEvent(Display.java:3782)。 sendEvent(Widget.java:1375)位于org.eclipse上的org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398)的org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1379) .swt.widgets.Shell.windowDidBecomeKey(Shell.java:1892)位于org.eclipse.swt.wt.wtus.ocham(移动org.e方法)org.eclipse.swt.wts.widge上的org.eclipse.swt.wt.Widget上的org.eclipse.swt.widgets.Widget.callSuper(Widget.java:213)org.eclipse.swt.widgets.Shell上的org.eclipse.swtts.Widget.becomeKeyWindow(Widget.java:324) .becomeKeyWindow(Shell.java:478)org.eclipse.swt.widgets.Display.windowProc(Displ […]

开源Jalopy Eclipse插件是否与Ganymede兼容?

经过多次搜索,我找到了日食版jalopy的下载。 这与Eclipse 3.4兼容吗? 这是2006年的日期。 我已经将解压缩的文件夹复制到我的插件目录并运行eclipse -clean ,但我找不到任何与首选项匹配的’jalopy’。 如果它不兼容,是否有任何(免费)替代品?

是否有与Eclipse片段项目相同的BundleActivator?

我正在构建一个Eclipse插件,它在常规插件项目中提供了一组核心function。 我通过片段项目提供的可选function。 但我需要片段在启动时使用主插件注册自己。 我不能在片段项目中拥有Bundle-Activator。 所以我想知道是否有一些替代机制来声明我可以挂钩的入口点或某些回调? 如果除了将片段项目转换为常规插件项目之外没有其他选择,那么我需要注意一个缺点吗? 这是我根据接受的答案使用的解决方案: final IExtensionRegistry registry = Platform.getExtensionRegistry(); final IExtensionPoint extensionPoint = registry.getExtensionPoint(“myextensionid”); final IExtension[] extensions = extensionPoint.getExtensions(); for (int j = 0; j < extensions.length; ++j) { final IConfigurationElement[] points = extensions[j].getConfigurationElements(); for (int i = 0; i < points.length; ++i) { if ("myelementname".equals(points[i].getName())) { try { final Object objImpl= […]

SWT组件仅用于从工作区选择文件

我使用SWT和Eclipse的插件。 我只需要从工作区选择文件。 我创建了用于在工作区中选择目录的组件,用于在文件系统中选择文件的组件,但是我没有找到用于从工作区选择文件的组件。 现在我正在使用org.eclipse.swt.widgets.FileDialog并设置filtersetFilterPath(Platform.getLocation().toOSString()) 。 但是用户可以选择不是来自工作区的其他文件。 他们应该只能在工作区内设置文件。

尝试为Android创建hello world示例时出现“无效的命令行参数”错误

我刚刚决定开始为Android开发应用程序,但我遇到了一些问题。 当我尝试从http://developer.android.com/resources/tutorials/hello-world.html#top构建一个hello world示例时,我收到此错误: [2011-07-17 00:22:46 – 仿真器]命令行参数无效:Files \ Android \ android-sdk \ tools / emulator-arm.exe。 [2011-07-17 00:22:46 – Emulator]提示:使用’@foo’启动名为’foo’的虚拟设备。 [2011-07-17 00:22:46 – 模拟器]请使用-help获取更多信息 我已经关注了该教程中的所有内容,我该如何解决这个问题?

在Eclipse RCP中使用导航历史记录

我喜欢在我的RCP应用程序中使用Eclipse提供的导航历史记录。 不幸的是,这个function没有很好的记录 事实上我只找到了这个Wiki条目: http : //wiki.eclipse.org/FAQ_How_do_I_hook_my_editor_to_the_Back_and_Forward_buttons%3F 它提到可以在导航历史记录中标记每个编辑器,而无需指定位置。 这正是我想要的。 无论特定编辑器是否支持导航历史记录,markLocation都可以使用。 如果编辑器未实现INavigationLocationProvider,则将添加历史记录条目,允许用户跳回该编辑器但不返回任何特定位置。 我在应用程序中添加了以下代码行,以便每次打开新的编辑器时添加导航条目。 IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); IEditorPart editor = page.openEditor( input, MyEditor.ID ); page.getNavigationHistory().markLocation( editor ); 我的问题是代码不起作用。 命令org.eclipse.ui.navigate.backwardHistory和org.eclipse.ui.navigate.forwardHistory的工具栏图标保持灰色。