Java Eclipse4.3+;WindowBuilder在保存工作区时挂起

Java Eclipse4.3+;WindowBuilder在保存工作区时挂起,java,eclipse,save,freeze,windowbuilder,Java,Eclipse,Save,Freeze,Windowbuilder,Eclipse 4.3(开普勒),安装了WindowBuilder插件(从)。 在保存约60%时导致冻结。 使用的组件:JFrame、JLabel、JTextField、JButton、JTable(带型号)、JTabbedPanel、JPanel 如果我只添加了2个组件并保存了它,那么保存就没有问题,但是如果我添加了5个以上的组件,那么在保存时它会冻结。中止储蓄没有帮助。 所以我按下CTRL+Print打开我的屏幕截图捕捉器,捕捉一个屏幕截图,然后进行保存。没有ScreenshotCaptur

Eclipse 4.3(开普勒),安装了WindowBuilder插件(从)。 在保存约60%时导致冻结。 使用的组件:JFrame、JLabel、JTextField、JButton、JTable(带型号)、JTabbedPanel、JPanel

如果我只添加了2个组件并保存了它,那么保存就没有问题,但是如果我添加了5个以上的组件,那么在保存时它会冻结。中止储蓄没有帮助。 所以我按下CTRL+Print打开我的屏幕截图捕捉器,捕捉一个屏幕截图,然后进行保存。没有ScreenshotCapturer(我自己用C#编写的应用程序),我无法在eclipse中保存我的项目,因为它已冻结

因此,我在workspace/.metadata/.log中查找,发现在保存时导致的NullPointerException:

!!消息设计器[1.6.0.r43x201305211944.201308211039]:java.lang.NullPointerException !堆栈0 java.lang.NullPointerException 在org.eclipse.wb.core.eval.AstEvaluationEngine$1.runObject上(AstEvaluationEngine.java:65) 位于org.eclipse.wb.internal.core.utils.ExecutionUtils.runObjectLog(ExecutionUtils.java:304) 位于org.eclipse.wb.core.eval.AstEvaluationEngine.evaluate(AstEvaluationEngine.java:63) 位于org.eclipse.wb.internal.swing.model.component.JTableInfo.evaluateColumnModelInvocations(JTableInfo.java:76) 位于org.eclipse.wb.internal.swing.model.component.JTableInfo.access$0(JTableInfo.java:69) 位于org.eclipse.wb.internal.swing.model.component.JTableInfo$1.evaluateAfter(JTableInfo.java:62) 位于sun.reflect.GeneratedMethodAccessor66.invoke(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源) 位于org.eclipse.wb.core.model.broadcast.BroadcastSupport$1.intercept(BroadcastSupport.java:208) 在org.eclipse.wb.core.model.broadcast.EvaluationEventListener$$enhancerbyglib$$83eb11fe.evaluateAfter()上 位于org.eclipse.wb.internal.core.parser.JavaInfoParser.evaluateNode(JavaInfoParser.java:1311) 位于org.eclipse.wb.internal.core.parser.JavaInfoParser.access$1(JavaInfoParser.java:1300) 位于org.eclipse.wb.internal.core.parser.JavaInfoParser$ExecutionFlowParseVisitor$3.run(JavaInfoParser.java:602) 位于org.eclipse.wb.internal.core.utils.ExecutionUtils.runRethrow(ExecutionUtils.java:119) 位于org.eclipse.wb.internal.core.parser.JavaInfoParser$ExecutionFlowParseVisitor.postVisit(JavaInfoParser.java:592) 在sun.reflect.GeneratedMethodAccessor24.invoke处(未知源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源) 位于java.lang.reflect.Method.invoke(未知源)

我打开Java VisualVM以查看冻结时正在运行的线程: RMI TCP接受-0 100% AWT视窗100% 100%附加侦听器 信号调度员100% 主要100%

堆玩得很疯狂,每秒钟都会上升然后下降

我使用Windows7Professional与JRE7和JDK7(都是64位的,Eclipse也是64位的)


我希望有人也有同样的问题,并且知道解决方案。

尝试在eclipse.ini中扩大eclipse内存,添加类似

-XX:MaxPermSize=256m

-Xms40m


-Xmx1024m

这没有帮助,对于你的答案,我只需要更改Xmx,但是在Java VisualVM上,以前有足够的顶部空间。我已经有了-Dosgi.requiredJavaVersion=1.7-XX:MaxPermSize=1024m-Xms120m-Xmx2048m