4

私は Eclipse を使用していますが、深刻な問題があります :-( まず、あなたのために無作法に状況を再構築しようとします:

  1. Eclipse Java EE Helios と JDK 1.6.0_21 をインストールし、Windows のシステム変数を構成しました
  2. m2eclipseをインストールしました
  3. JSF Web プロジェクトのアーキタイプを生成しました

Windows XP Professional SP3 を使用しています

だから...今、Eclipseには非常に大きな問題があります。pom.xml を開こうとするか、Maven 固有のオプションを使用しようとすると、Eclipse が動作を停止し、前回のセッションのように permgen space エラーが発生します。

!SESSION 2010-07-12 16:45:23.671 -----------------------------------------------
eclipse.buildId=I20100608-0911
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.core.resources 2 10035 2010-07-12 16:45:24.796
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY org.eclipse.ui 4 0 2010-07-12 16:54:53.046
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.OutOfMemoryError: PermGen space
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(Unknown Source)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at org.eclipse.jface.action.ActionContributionItem.copyMenu(ActionContributionItem.java:1270)
 at org.eclipse.jface.action.ActionContributionItem.handleShowProxy(ActionContributionItem.java:1248)
 at org.eclipse.jface.action.ActionContributionItem.access$4(ActionContributionItem.java:1237)
 at org.eclipse.jface.action.ActionContributionItem$8.handleEvent(ActionContributionItem.java:1210)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
 at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:4485)
 at org.eclipse.swt.widgets.Control.windowProc(Control.java:4188)
 at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
 at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598)
 at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2038)
 at org.eclipse.swt.widgets.Display.windowProc(Display.java:4886)
 at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
 at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:256)

!ENTRY org.eclipse.core.jobs 4 2 2010-07-12 16:54:53.046
!MESSAGE An internal error occurred during: "Periodic workspace save.".
!STACK 0
java.lang.OutOfMemoryError: PermGen space
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(Unknown Source)
 at java.lang.ClassLoader.defineClass(Unknown Source)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at org.eclipse.jdt.internal.core.JavaModelManager.saveVariablesAndContainers(JavaModelManager.java:3819)
 at org.eclipse.jdt.internal.core.JavaModelManager.saving(JavaModelManager.java:4065)
 at org.eclipse.core.internal.resources.SaveManager.executeLifecycle(SaveManager.java:361)
 at org.eclipse.core.internal.resources.SaveManager$1.run(SaveManager.java:170)
 at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
 at org.eclipse.core.internal.resources.SaveManager.broadcastLifecycle(SaveManager.java:173)
 at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1108)
 at org.eclipse.core.internal.resources.SaveManager.save(SaveManager.java:1087)
 at org.eclipse.core.internal.resources.DelayedSnapshotJob.run(DelayedSnapshotJob.java:44)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.eclipse.ui 4 0 2010-07-12 16:54:56.109
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.OutOfMemoryError: PermGen space
 at java.lang.Class.getDeclaredMethods0(Native Method)
 at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod(Unknown Source)
 at org.eclipse.ui.internal.handlers.WidgetMethodHandler.getMethodToExecute(WidgetMethodHandler.java:265)
 at org.eclipse.ui.internal.handlers.WidgetMethodHandler.isHandled(WidgetMethodHandler.java:247)
 at org.eclipse.ui.internal.handlers.WidgetMethodHandler.updateEnablement(WidgetMethodHandler.java:57)
 at org.eclipse.ui.internal.handlers.WidgetMethodHandler$1.handleEvent(WidgetMethodHandler.java:49)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1253)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
 at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2618)
 at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2402)
 at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:4792)
 at org.eclipse.swt.widgets.Canvas.WM_SETFOCUS(Canvas.java:448)
 at org.eclipse.swt.widgets.Decorations.WM_SETFOCUS(Decorations.java:1748)
 at org.eclipse.swt.widgets.Control.windowProc(Control.java:4229)
 at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
 at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1598)
 at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2038)
 at org.eclipse.swt.widgets.Display.windowProc(Display.java:4886)
 at org.eclipse.swt.internal.win32.OS.BringWindowToTop(Native Method)
 at org.eclipse.swt.widgets.Decorations.bringToTop(Decorations.java:230)
 at org.eclipse.swt.widgets.Shell.open(Shell.java:1194)
 at org.eclipse.jface.window.Window.open(Window.java:797)

!ENTRY org.eclipse.ui 4 4 2010-07-12 16:55:02.046
!MESSAGE An internal error has occurred.
!STACK 0
java.lang.OutOfMemoryError: PermGen space

!ENTRY org.eclipse.ui 4 0 2010-07-12 16:55:09.781
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.OutOfMemoryError: PermGen space
!SESSION 2010-07-12 17:17:04.234 -----------------------------------------------
eclipse.buildId=I20100608-0911
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.core.resources 2 10035 2010-07-12 17:17:05.359
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY org.eclipse.jdt.core 4 4 2010-07-12 17:17:05.843
!MESSAGE Unable to read variable and containers file
!STACK 0
java.io.EOFException
 at java.io.DataInputStream.readInt(DataInputStream.java:375)
 at org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper.loadInt(JavaModelManager.java:3344)
 at org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper.loadProjects(JavaModelManager.java:3373)
 at org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper.load(JavaModelManager.java:3212)
 at org.eclipse.jdt.internal.core.JavaModelManager.loadVariablesAndContainers(JavaModelManager.java:3049)
 at org.eclipse.jdt.internal.core.JavaModelManager.startup(JavaModelManager.java:4705)
 at org.eclipse.jdt.core.JavaCore.start(JavaCore.java:5048)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
 at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
 at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
 at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
 at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
 at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
 at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
 at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
 at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
 at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
 at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
 at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
 at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
 at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.addModifyListener(PreferenceServiceRegistryHelper.java:90)
 at org.eclipse.core.internal.preferences.PreferenceServiceRegistryHelper.getModifyListeners(PreferenceServiceRegistryHelper.java:186)
 at org.eclipse.core.internal.preferences.PreferencesService.firePreApplyEvent(PreferencesService.java:440)
 at org.eclipse.core.internal.preferences.PreferencesService.applyPreferences(PreferencesService.java:122)
 at org.eclipse.core.internal.resources.ProjectPreferences.read(ProjectPreferences.java:234)
 at org.eclipse.core.internal.resources.ProjectPreferences.updatePreferences(ProjectPreferences.java:302)
 at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:414)
 at org.eclipse.core.internal.localstore.RefreshLocalVisitor.visit(RefreshLocalVisitor.java:297)
 at org.eclipse.core.internal.localstore.UnifiedTree.accept(UnifiedTree.java:108)
 at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshResource(FileSystemResourceManager.java:824)
 at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:808)
 at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshRoot(FileSystemResourceManager.java:855)
 at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:801)
 at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1661)
 at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:166)
 at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
 at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.eclipse.ui 4 4 2010-07-12 17:20:11.921
!MESSAGE Could not create action delegate for id: org.maven.ide.eclipse.editor.RenameProjectAction

!ENTRY org.eclipse.ui 4 4 2010-07-12 17:20:11.921
!MESSAGE Internal plug-in action delegate error on creation.
!STACK 0
java.lang.OutOfMemoryError: PermGen space
 at java.lang.ClassLoader.defineClass1(Native Method)
 at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469)
 at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
 at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
 at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:466)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
 at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
 at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
 at java.lang.Class.getDeclaredConstructors0(Native Method)
 at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
 at java.lang.Class.getConstructor0(Class.java:2699)
 at java.lang.Class.newInstance0(Class.java:326)
 at java.lang.Class.newInstance(Class.java:308)
 at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
 at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
 at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
 at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
 at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:259)
 at org.eclipse.ui.internal.PluginAction.createDelegate(PluginAction.java:122)
 at org.eclipse.ui.internal.PluginAction.selectionChanged(PluginAction.java:275)
 at org.eclipse.ui.internal.PluginAction.<init>(PluginAction.java:112)
 at org.eclipse.ui.internal.ObjectPluginAction.<init>(ObjectPluginAction.java:83)
 at org.eclipse.ui.internal.ActionDescriptor.createAction(ActionDescriptor.java:272)

理由はたくさんあるので、自分で説明することはできません。誰かが同様の問題を抱えていて、それを手伝ってくれるかもしれません。

アップデート:

:-( 30分後、再び漏れ始めます :-(

Eclipse は無限ループのままのようです。タスク「Eclipse」は、継続的に CPU の約 50% を使用します。

それは非常に奇妙です。これが私のeclipse.iniです:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-XX:MaxPermSize=256m
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx512m

もしかして、何か問題が?!? 誰かがアイデアを持っていますか?

編集:私はそれがより良いと言う必要があります. その問題はめったに発生しません。

更新 2:

Somebaody が私の eclips.ini の設定を手伝ってくれますように。JDK 6-21で作業できるように...または、古いバージョンを使用する必要がありますか?

ここまでです:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-XX:PermSize=128M
-XX:MaxPermSize=256m
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx512m

さて、船長の推奨に従い、別の質問を投稿しました: Eclipseのトラブル

4

3 に答える 3

10

私にとってうまくいった別のオプションは、実行->デバッグ構成...->(あなたのMavenビルド)->JREタブ-> VM引数にいくつかのVM引数を追加することです:

-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:NewSize=128m

この助けを願って...

更新しました:

または、同じ引数を以下に追加することもできます:

Window->Preferences->Java->Installed JREs->(お好みの JDK または Maven インスタンスで使用される JRE )->Default VM Arguments

于 2012-04-17T19:17:05.063 に答える
6

eclipse.ini で -XX:MaxPermSize=256m を渡して、最大 perm サイズを増やす必要があります。

注: Helios と Java のバージョンについては、上記を使用してください。他の引数 (launcher.XXMaxPermSize) を使用すると、バグのため機能しません。

次のリンクで詳細を参照してください: http://wiki.eclipse.org/FAQ_How_do_I_increase_the_permgen_size_available_to_Eclipse%3F

https://bugs.eclipse.org/bugs/show_bug.cgi?id=319514

于 2010-07-12T23:50:11.963 に答える
0

日食ガリレオでも同様の問題がありました。jdk 1.6.0_21 を更新するまで、JDK 6 update 3 では問題なく動作していました。

Jdk 6 update 3 を指すように JDK パスを変更すると、正常に動作し始めました。

この助けを願っています!!!

ありがとう、アミット・チャジェド

于 2010-07-19T08:26:38.817 に答える