2010-09-30 3 views
9

Tôi đang cố gắng để cấu trúc lại tên gói (khá gần thư mục gốc của hệ thống phân cấp dự án), và tôi nhận được lỗi sau (flash builder 4):StackOverflowError khi Refactoring

A fatal error occurred while performing the refactoring 

An unexpected exception occurred while creating a change object. See the error log for more details. 

Các log file trông giống như thế này ....

!ENTRY org.eclipse.ltk.ui.refactoring 4 10000 2010-09-30 10:57:25.134 
!MESSAGE Internal Error 
!STACK 0 
java.lang.reflect.InvocationTargetException 
    at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421) 
    at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:330) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizard.createChange(RefactoringWizard.java:583) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizard.computeUserInputSuccessorPage(RefactoringWizard.java:422) 
    at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.computeSuccessorPage(UserInputWizardPage.java:74) 
    at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.getNextPage(UserInputWizardPage.java:114) 
    at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.nextOrPreviewPressed(RefactoringWizardDialog2.java:495) 
    at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.access$2(RefactoringWizardDialog2.java:492) 
    at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2$1.widgetSelected(RefactoringWizardDialog2.java:691) 
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) 
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) 
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) 
    at org.eclipse.jface.window.Window.open(Window.java:801) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:143) 
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) 
    at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:155) 
    at com.adobe.flexbuilder.as.editor.ui.navigator.FlexPackageExplorerRenameAction.renamePackage(FlexPackageExplorerRenameAction.java:171) 
    at com.adobe.flexbuilder.as.editor.ui.navigator.FlexPackageExplorerRenameAction.run(FlexPackageExplorerRenameAction.java:143) 
    at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:168) 
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) 
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) 
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) 
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) 
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880) 
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473) 
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) 
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) 
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) 
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) 
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) 
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 
    at com.adobe.flexbuilder.standalone.FlexBuilderApplication.start(FlexBuilderApplication.java:109) 
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 
    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:368) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1311) 
Caused by: java.lang.StackOverflowError 
    at com.adobe.flexbuilder.codemodel.mxml.MXMLData$2.getMXMLVersion(MXMLData.java:501) 
<-- snipped 1022 additional identical lines..--> 
    at com.adobe.flexbuilder.codemodel.mxml.MXMLData$2.getMXMLVersion(MXMLData.java:501) 
Root exception: 
java.lang.StackOverflowError 
    at com.adobe.flexbuilder.codemodel.mxml.MXMLData$2.getMXMLVersion(MXMLData.java:501) 
<-- snipped 1022 additional identical lines..--> 
    at com.adobe.flexbuilder.codemodel.mxml.MXMLData$2.getMXMLVersion(MXMLData.java:501) 

Bất kỳ ý tưởng gì là sai ... và những gì tôi có thể làm để khắc phục? Tôi truy vấn google cho nó, và không bật lên bất cứ điều gì hữu ích với các tham số tôi đã thử.

+0

Điều này có xảy ra với mỗi lần tái cấu trúc bạn thử không? Bạn có lỗi trong mã của mình mà điều này có thể xảy ra không? Có thể thử cài đặt lại Flash Builder .. (tôi cũng đoán đây là một vấn đề siêu người dùng?) – poke

+0

OUCH! Cài đặt lại Flash Builder? Tôi hy vọng đó sẽ là phương sách cuối cùng. – crackedcornjimmy

+0

không, xa hơn về phía lá, tôi có thể cấu trúc lại ... Tôi có thể cấu trúc lại một tệp riêng lẻ, cũng như gói tối ưu nhất. – reidLinden

Trả lời

1

Tăng kích thước chuỗi của JVM bạn chạy IDE của mình?

Tôi tin rằng trong Eclipse bạn có thể làm điều đó bằng cách thêm -Xss với một số giá trị vào eclipse.ini trong cài đặt Eclipse của bạn. Cài đặt này là cài đặt JVM nên được thêm vào phần -vmargs, có thể nằm cạnh -Xmx theo mặc định.

+0

Tôi chắc chắn sẽ thực hiện cú đánh này! Cảm ơn! – reidLinden

+1

Tôi tìm thấy các cài đặt trong C: \ Program Files \ Adobe \ Adobe Flash Builder 4 \ FlashBuilder.ini – reidLinden

+1

Bài đăng này cung cấp câu trả lời chi tiết hơn: http://stackoverflow.com/questions/2610194/how-can-i-give -eclipse-more-memory-hơn-512m – aggregate1166877

0

Đây có thể không phải là câu trả lời hay nhất, nhưng .. Tôi khuyên bạn nên thử một IDE khác như IntelliJ.

Tôi đã sử dụng Trình tạo Flash trước đây. Nó đã luôn luôn cho tôi vấn đề. Thông thường, vì plugin không tương thích. Chạy tomcat trong nó đôi khi mang lại cho tôi quá trình java "undead" này mà sẽ không chết.

Tôi đang sử dụng IntelliJ 9 ngay bây giờ. Tính năng tự động hoàn tất ít hoàn thiện hơn so với Flash Builder, nhưng nó có tính năng tái cấu trúc tốt hơn nhiều và ..Much MUCH tích hợp tốt hơn với các công cụ khác (như Maven).

+0

cảm ơn cho suy nghĩ. Tôi đã giữ ý tưởng (hah) của IntelliJ dự trữ. Tôi có thể đạt được điều đó, nhưng tôi phải thuyết phục khá nhiều người, đó là ý tưởng hay nhất của nó, vì vậy ..... – reidLinden

3

Bạn có thể thử Khởi động lại Eclipse. Điều kỳ lạ là sửa một số vấn đề trong Eclipse xảy ra đột ngột mà không có lời giải thích bình thường.