在针对目标平台开发RCP应用程序时,我(和其他人)经常遇到需要从Eclipse发布软件站点添加的依赖项.每当插件包含在我的IDE中,但不在我的目标平台中,并且我尝试从产品定义中运行应用程序时,我会看到一个警告屏幕,通知我这样的捆绑包无法解析.
"没问题,只需将包含插件的功能从Eclipse下载站点添加到目标平台,并将所需的插件添加到插件项目/功能项目中,无论如何......"
但是,AFAIK,没有简单的方法(例如,网站)来找出哪个功能包括哪个插件.例如,为了添加org.eclipse.ui.views.properties.tabbed,我需要知道该插件包含在该Eclipse Platform SDK功能中(以及其他).
到目前为止,我还没有找到一种简单的方法来找出哪个功能包含哪个插件.我通常开始使用Google搜索插件名称,并尝试在搜索结果中查找教程或类似内容,这可能会告诉我要包含哪些功能才能访问插件.当然,这可能是单调乏味的.
所以我的问题是:是否有更好的,甚至是官方的(或管理的)方式来快速简单地找到这些信息?
我在Swing中开发了许多桌面应用程序,即使是那些有点复杂的桌面应用程序,还有Hibernate和Spring集成.我发现许多事情重复并且应该以方便的方式完成,例如应用程序生命周期,日志记录,警报,授权,表单及其验证.我开始寻找框架.事实证明,我遇到了Swing应用程序框架,该框架已经存在了几年.Spring RCP真的满足了我的期望,特别是基于Java Bean模型创建表单是我喜欢的,但我意识到它已经死了.Netbeans RCP不适合我,我使用Eclipse而且我不想使用另一个IDE进行桌面开发.我对Eclipse RCP并不是很兴奋,我觉得它太过于面向Eclipse,我更喜欢低级耦合到任何工具,除了它不是那么简单易学.
令我感到惊讶的是,在Java中开发基于桌面的业务应用程序的支持很少.就像Java只用于Web环境.那么制作此类应用程序的首选语言是什么?如果我想继续使用Java,是否有机会找到类似于Spring RCP的东西(到目前为止我还不能)?
在我们的Eclipse插件应用程序中,Eclipse启动时需要很长时间,用户在应用程序的左下角看到"Initialize Java tooling"消息.因为我们的用户与java没有任何关系,我想知道是否可以禁用Initialize Java工具.
另一个问题:什么是Initialize Java工具?
在我的Eclipse RCP应用程序中,我使用了本文中描述的Selection Service .在一个视图中有一个TreeViewer注册为SelectionProvider:
getSite().setSelectionProvider(viewer);
另一个视图是从TreeViewer接收事件:
selectionListener = new ISelectionListener() {
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
pageSelectionChanged(part, selection);
}
};
getSite().getPage().addSelectionListener(selectionListener);
Run Code Online (Sandbox Code Playgroud)
一切正常,如果事件被触发我的正常鼠标点击.我想通过选择树中的项目以编程方式触发选择事件:
treeViewer.setSelection(new StructuredSelection(element),true);
Run Code Online (Sandbox Code Playgroud)
这不起作用.方法selectionChanged不在receiver-view中调用.这个论坛帖子讨论了这个问题.没有解决方案.
编辑
没有正确的方法来处理鼠标触发点击与编程选择相同的方式.单击鼠标可激活视图,而编程选择则不会.
我的解决方案是以与第一个视图相同的方式注册第二个Selection Service视图.之后,两个视图都直接从活动编辑器获取选择事件.
我正在尝试调试此问题,但不确定我需要在哪里替换 Eclipse的SWT jar文件.
当前系统配置:
Eclipse Helios 3.6 - 32 Bit
JDK 1.6
JVM - 32 Bit
Windows 7 - 64 Bit
Run Code Online (Sandbox Code Playgroud)
错误信息:
java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:174)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:138)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:687)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at de.vogella.rcp.intro.first.Application.start(Application.java:18)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)
An error has occurred. See …Run Code Online (Sandbox Code Playgroud) 我正在使用带有兼容层的Eclipse 4.2来重用我的RCP应用程序的现有部分.
我想重新使用新的从文件菜单和运行 菜单在我的RCP应用程序,所以我打开了Eclipse和它的外观像这样的EMF编辑器:

但对于New菜单,它显示如下:org.eclipse.e4.model.application....
我的应用程序看起来像这样(它只是带有一些额外功能的Java Script调试器):
那么如何在我的RCP应用程序中重用这些菜单呢?
为了打开模式对话框,您需要传递父窗口,并将对话框的必要标志传递给模态.
根据您在eclipse基础架构中的位置,找到这个父窗口并不总是那么容易.
如何访问父窗口?
选择Eclipse Rich Client Platform作为我的应用程序基础的原因是什么,而不仅仅是使用SWT/JFace?
我将为现有的C++应用程序开发一个新的GUI.该应用程序适用于Windows和Linux,与GUI的通信是通过客户端/服务器进行的.
Eclipse RCP和Qt之间的优缺点是什么?
除了Vogella的教程和他的书之外,至少还有其他任何内容吗?完全基于这些内容?他的回购中的例子往往是不完整/未完成/不会运行,这些例子实际上甚至与本书不匹配..
我想找到至少一些javadoc这个,因为任何一步到一边我'我完全迷失了如何完成不同的任务和可用的功能.
eclipse-rcp ×10
java ×6
eclipse ×5
eclipse-pde ×2
jface ×2
rcp ×2
swt ×2
e4 ×1
eclipse-emf ×1
eclipse-juno ×1
jvm ×1
plugins ×1
qt ×1
spring-rcp ×1
swing ×1
update-site ×1