Eclipse 4.3 + WindowBuilder在保存工作空间时挂起

时间:2013-08-21 09:50:48

标签: java eclipse save freeze windowbuilder

Eclipse 4.3(Kepler),已安装插件WindowBuilder(来自http://download.eclipse.org/windowbuilder/WB/integration/4.3/)。 保存时会导致冻结~60%。 使用的组件:JFrame,JLabel,JTextField,JButton,JTable(带模型),JTabbedPanel,JPanel。

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

所以我在工作区/ .metadata / .log中查找并找到了保存时导致的NullPointerException:

  

!MESSAGE Designer [1.6.0.r43x201305211944.201308211039]:java.lang.NullPointerException   !堆栈0   显示java.lang.NullPointerException       at org.eclipse.wb.core.eval.AstEvaluationEngine $ 1.runObject(AstEvaluationEngine.java:65)       at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runObjectLog(ExecutionUtils.java:304)       在org.eclipse.wb.core.eval.AstEvaluationEngine.evaluate(AstEvaluationEngine.java:63)       at 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)       at org.eclipse.wb.internal.swing.model.component.JTableInfo $ 1.evaluateAfter(JTableInfo.java:62)       at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)       at java.lang.reflect.Method.invoke(Unknown Source)       在org.eclipse.wb.core.model.broadcast.BroadcastSupport $ 1.intercept(BroadcastSupport.java:208)       at org.eclipse.wb.core.model.broadcast.EvaluationEventListener $$ EnhancerByCGLIB $$ 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.execution.ExecutionUtils.runRethrow(ExecutionUtils.java:119)       在org.eclipse.wb.internal.core.parser.JavaInfoParser $ ExecutionFlowParseVisitor.postVisit(JavaInfoParser.java:592)       at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)       at java.lang.reflect.Method.invoke(Unknown Source)   .....

我打开Java VisualVM来查看冻结时正在运行的线程: RMI TCP Accept-0 100% AWT-Windows 100% 附加监听器100% 信号调度员100% 主要100%

Heap正在疯狂地玩,然后上升然后每秒钟下降。

我正在使用Windows 7 Professional和JRE 7以及JDK 7(64位,Eclipse 64位)。

我希望有人遇到同样的问题并知道解决方案。

1 个答案:

答案 0 :(得分:0)

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

的内容

-XX:MaxPermSize参数=256米

-Xms40m

-Xmx1024m