2013-08-18 48 views
7

撑着,我已经花了很多时间awefull量搞清楚至于如何从本地使用Eclipse插件RSE运行远程Java程序。面临的问题,而在日食

我能够通过eclipse使用RSE连接到我的远程机器,并且在做了Create Remote Project对eclipse上的远程maven项目Remote System Explorer的角度看,我可以在Java Perspective下看到我的项目。

在Java透视

现在,当我去创造构成Hello World计划一个简单的java文件,它会引发我一个错误,

我花了一整天要弄清楚,什么是问题。如果有人以前遇到这个问题,或者可以扔在这个问题上的一些光,那么这将是非常可观的。

而且,让我知道如果你需要任何更多的信息?

由于在工作区

!ENTRY org.eclipse.core.jobs 4 2 2013-08-18 01:19:20.101 !MESSAGE An internal error 
occurred during: "Launching abc". !STACK 0 java.lang.NullPointerException at 

org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.getDefaultWorkingDirectory 
(AbstractJavaLaunchConfigurationDelegate.java:995) at 
org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate.verifyWorkingDirectory(AbstractJavaLaunchConfigurationDelegate.java:684) at 
org.eclipse.jdt.launching.JavaLaunchDelegate.launch(JavaLaunchDelegate.java:53) at 
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:855) at 
org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:704) at 
org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1047) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1251) at 
org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

.LOG新的空指针异常的追溯的.metadata目录 回溯.LOG的

!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". 
!STACK 0 
java.lang.NullPointerException 
     at org.eclipse.rse.ui.view.SystemTableViewProvider.getText(SystemTableViewProvider.java:221) 
     at org.eclipse.jface.viewers.DecoratingLabelProvider.getText(DecoratingLabelProvider.java:129) 
     at org.eclipse.rse.internal.ui.view.SystemDecoratingLabelProvider.getColumnText(SystemDecoratingLabelProvider.java:55) 
     at org.eclipse.jface.viewers.TableColumnViewerLabelProvider.update(TableColumnViewerLabelProvider.java:70) 
     at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152) 
     at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:399) 
     at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:485) 
     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
     at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) 
     at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) 
     at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2167) 
     at org.eclipse.jface.viewers.StructuredViewer.internalUpdate(StructuredViewer.java:2150) 
     at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:2089) 
     at org.eclipse.jface.viewers.ColumnViewer.update(ColumnViewer.java:554) 
     at org.eclipse.jface.viewers.StructuredViewer.update(StructuredViewer.java:2033) 
     at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged(StructuredViewer.java:1191) 
     at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged(ContentViewer.java:97) 
     at org.eclipse.ui.internal.decorators.DecoratorManager$1.run(DecoratorManager.java:430) 
     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
     at org.eclipse.ui.internal.decorators.DecoratorManager.fireListener(DecoratorManager.java:428) 
     at org.eclipse.ui.internal.decorators.DecorationScheduler$3.runInUIThread(DecorationScheduler.java:530) 
     at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95) 
     at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 
     at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) 
     at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3946) 
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3623) 
     at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) 
+0

您是否尝试清除您的eclipse元数据文件夹?您也可以禁用RSE插件并重复此过程(仅查看插件是否为您所看到的根源) – Zenil

+0

我尝试删除元数据文件夹,实际上创建了一个新的工作区并试图从那里运行,但没有运气。我如何检查rse插件是否已安装并禁用rse插件? – PythonEnthusiast

+0

我在我的回答中发布了一个编辑,因为它太长而不能在这里发表评论。 –

回答

0

我就火了Wireshark的检查究竟是什么通过电线。事实上,你正在一场暴风雪中失明。对于Wireshark,你可能仍然处于暴风雪中,但至少你不会盲目失明。

+0

嗨,马克,我没有在wireshark中看到任何可以帮助我们解决这个问题的原因。我今天也尝试了所有步骤,但是这个NullPointerException正在伤害大部分时间。任何其他线索? – PythonEnthusiast

0

尝试卸载该插件看看。 卸载过程是基于你有Eclipse版本略有不同。

如果您有任何看法,编辑器,透视属于这个插件打开,请确保您关闭所有的人都这样做的前下方。

这里有几个环节:

http://wiki.eclipse.org/FAQ_How_do_I_remove_a_plug-in%3F:这也说明了如何只是禁用插件

Temporarily disable Eclipse plugin

如果一切都失败了,您可以物理地从eclipse目录中删除插件并重新启动它。 Disabling plugins in Eclipse

+0

从eclipse插件目录中手动删除rse插件从eclipse中删除了Remote System Explorer的东西。而且我无法发现暂时禁用RSE插件。 – PythonEnthusiast

+0

如何尝试一个新的eclipse版本,并在那里重复相同的步骤? – PythonEnthusiast

+0

这应该工作..但它是一个繁重的工作..你使用什么版本的日食? – Zenil

0

你在这里所给出的信息是有点不完整的,但是因为你已经尝试解决这种情况我会作出一些假设的步骤:

  1. 你安装了插件,并设置您的RSE将其附加到远程项目上,而无需为其创建团队配置文件。

  2. 您选择使用,对最佳实践的插件,直接实现了RSE子系统没有实现它自己的服务层。

  3. 然后你完成你的工作/更新远程项目的版本/或删除链接到远程项目。

注:我不能说你做了什么,也可能是很多事情,但最终结果是你连接挥发性资源到你的私人配置文件和资源变得不可用。

我如何知道这一点?

  1. RSE子系统没有实现自己的服务层区域,需要从getServiceType()调用返回null调用 - 堆栈跟踪的开始。

  2. 必须显式创建公共团队配置文件,而自动创建私人配置文件。 more on this here

  3. UIPlugin组件是一个从工作线程调用而来的RSE UI插件到RSE子系统到RSE Base API服务层会做这个堆栈跟踪签名。

  4. 启动代理尝试启动一个配置,该配置的源查找调用失败 - 您的堆栈跟踪结束。

要了解发生了什么,你需要知道每个RSE资源连接到配置文件和这些配置将包括:1。 连接 - 包括子系统性能。 2.筛选器,筛选器池和筛选器池引用 3.与配置文件关联的其他数据

配置文件可以处于活动状态或不活动状态。远程系统资源管理器显示所有活动配置文件的所有连接,并且在连接内允许从任何活动配置文件中引用过滤器池。

但是,有一个关键点您的私人资料不能被删除或无效。

这意味着如果您尚未创建可以禁用的团队配置文件,并且您的RSE插件没有实现它自己的服务层以实现正常的故障并且该资源变得不可用,则无法启动配置配置文件--ever- - 因此你的问题。

因此,不要担心重新安装插件(或者找到更好的插件),只要确保将任何远程资源连接到项目特定的团队配置文件即可。然后,您可以使用团队视图通过使各种配置文件处于活动状态或非活动状态来控制工作区中显示的配置文件。

你可以找到在RSE Developer Guide

编辑详细了解此:后续

不幸的是看起来像它实际上是你通过一个不同的调用链面前同样的错误。当您设置团队配置文件时,您尚未删除/卸载RSE插件的所有组件。因此,UI装饰器试图为您构建远程资源的视图并收到空指针

这是由于您无法在eclipse发现中“查看”RSE插件而产生的。至少月食表现得好像其中的一部分还在那里,我怀疑它是。

你基本上有两个选择来解决这个问题,都不是很高兴。

  1. 如果你没有在Eclipse IDE中锁定了严重的价值的东西,你不能出去(你不应该)最简单的是取消Eclipse和它的所有相关的文件,重新安装一个干净的Eclipse,下载RSE,配置Team配置文件(两个会更好),而不允许它从你的私人配置文件默认id,那么重新连接你的远程系统。

  2. 如果你真的觉得你的手脏了,并通过你现有的eclipse安装修复了这个问题,你可以直接写代码到RSE registry FYI:(不是微不足道的),你将无法在Eclipse中运行它当你这样做。注册表允许您获取几乎所有的配置设置,子系统和配置文件信息并对其进行处理。

如果我是在匆忙如果你想花时间和了解RSE不怕打破它的我只是做1,我会做2.

一更多的事情。从理论上讲,有一种方法可以在RSE的ISystemProfile接口上获取和更改/重置你的私人配置文件,有两种方法可以做到这一点,但只是让你知道我所知道的最好的eclipse guru知道这是可能的还是可行的,这里没有什么信息:

isDefaultPrivate找到唯一的开发人员配置文件(返回布尔值)和setDefaultPrivate可能允许您停用独特的开发人员配置文件并设置另一个配置文件。

为什么我说的可能,因为即使这次月食的API文档结束与一个问号本声明see it here

+0

谢谢J-Boss。这是一个明确的信息答复,并继续尝试创建公众形象。但它仍然给我一个空指针异常。还收到一个不同的空指针异常。 (在问题中新的空指针异常)我不知道我在这里做错了什么。 – PythonEnthusiast

+0

你能指点我纠正rse插件吗,这样我就可以在新的eclipse kepler上尝试一下,并且再次尝试上述步骤(我现在无法在任何地方找到rse插件?)。它是否过时? – PythonEnthusiast

+0

我意识到我没有回答你的第二个问题,是的,RSE有点老,但TM已经扩展了很多。这是[网站](http://www.eclipse.org/tm/),你可以在这里找到更多。这是一个超过RSE的轻量级框架,但它更安全,您现在可能会感激不尽。 –

0

,我发现这个在

http://www.eclipse.org/forums/index.php/t/171215/

我已经想通了这个问题:

查看详细信息后,我发现它在尝试保存与连接相关的某些数据时出错。

为了保持一致性,我把Eclipse文件夹放在Program Files中。我假设RSE没有适当的权限写在那里,所以它只是失败了。 Eclipse文件夹现在在我的桌面上,RSE很棒!

现在为什么地狱不Eclipse有一个适当的安装程序,以便它可以与我的程序的其余部分?酷

我不知道这是否有帮助。