Eclipse Luna 的 Oracle Weblogic Server 插件启动错误

Start up errors with Oracle Weblogic Server plugin for Eclipse Luna

我们有一个使用 Eclipse Indigo 和相关的 weblogic 服务器插件构建的现有项目。这是四年前完成的,我们正在尝试迁移到 Eclipse Luna。项目导入并且一切正常,直到我为 Eclipse Luna 或较低版本添加 weblogic 服务器工具插件并重新启动 eclipse。它开始抱怨 "An internal error occurred during"

生成的应用程序 EAR 部署在 Oracle Weblogic Server 10gR3 上。 任何解决问题的帮助将不胜感激。我知道问题出在 Eclipse Luna 的 Oracle Weblogic Server 工具插件上,因为当我删除它时,我没有看到任何错误。我已经尝试清理 .metadata 然后重新启动 eclipse 但错误仍然开始出现。

UPDATE:下面是我从 .metadata 中的 .log 文件中发现的异常堆栈跟踪。我无法从日志中理解任何内容。有人可以帮忙吗?

!ENTRY org.eclipse.core.jobs 4 2 2015-04-29 07:07:17.086
!MESSAGE An internal error occurred during: "Initializing Java Tooling".
!STACK 0
java.lang.RuntimeException: IModuleReferenceSystemLibrary.ResolvedPath:     ResolvedPathDerivedValueService.compute() has failed
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:130)
at org.eclipse.sapphire.services.DataService.data(DataService.java:75)
at     org.eclipse.sapphire.DerivedValueService.value(DerivedValueService.java:34)
at org.eclipse.sapphire.Value.refreshContent(Value.java:119)
at org.eclipse.sapphire.Value.refreshContent(Value.java:83)
at org.eclipse.sapphire.Value.text(Value.java:260)
at org.eclipse.sapphire.Value.text(Value.java:253)
at oracle.eclipse.tools.weblogic.syslib.internal.SystemLibrariesContainerImpl.createContainer(SystemLibrariesContainerImpl.java:200)
at oracle.eclipse.tools.weblogic.syslib.internal.SystemLibrariesContainerImpl$Initializer.initialize(SystemLibrariesContainerImpl.java:278)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2902)
at org.eclipse.jdt.internal.core.JavaModelManager.run(JavaModelManager.java:2808)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2848)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1932)
at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:4016)
at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.RuntimeException: IModuleReferenceSystemLibrary.ModuleId: PossibleValuesValidationService.compute() has failed
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:130)
at org.eclipse.sapphire.services.DataService.data(DataService.java:75)
at org.eclipse.sapphire.services.ValidationService.validation(ValidationService.java:49)
at org.eclipse.sapphire.Property.refreshValidation(Property.java:254)
at org.eclipse.sapphire.Property.validation(Property.java:476)
at oracle.eclipse.tools.weblogic.syslib.internal.ModuleReferenceSystemLibraryServices$ResolvedPathDerivedValueService.compute(ModuleReferenceSystemLibraryServices.java:74)
at oracle.eclipse.tools.weblogic.syslib.internal.ModuleReferenceSystemLibraryServices$ResolvedPathDerivedValueService.compute(ModuleReferenceSystemLibraryServices.java:1)
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:103)
... 16 more
Caused by: java.lang.RuntimeException: IModuleReferenceSystemLibrary.ModuleId: ModuleIdValuesProvider.compute() has failed
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:130)
at org.eclipse.sapphire.services.DataService.data(DataService.java:75)
at org.eclipse.sapphire.PossibleValuesService.values(PossibleValuesService.java:77)
at org.eclipse.sapphire.services.internal.PossibleValuesValidationService.compute(PossibleValuesValidationService.java:57)
at org.eclipse.sapphire.services.internal.PossibleValuesValidationService.compute(PossibleValuesValidationService.java:1)
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:103)
... 23 more
Caused by: java.lang.NullPointerException
at oracle.eclipse.tools.common.util.DomUtil.elements(DomUtil.java:152)
at oracle.eclipse.tools.weblogic.WebLogicServerInstall.parseFeatureXmlFile(WebLogicServerInstall.java:490)
at oracle.eclipse.tools.weblogic.WebLogicServerInstall.loadModulesRegistry(WebLogicServerInstall.java:477)
at oracle.eclipse.tools.weblogic.WebLogicServerInstall.getModules(WebLogicServerInstall.java:394)
at oracle.eclipse.tools.weblogic.syslib.internal.ModuleIdValuesProvider.compute(ModuleIdValuesProvider.java:22)
at org.eclipse.sapphire.PossibleValuesService.compute(PossibleValuesService.java:93)
at org.eclipse.sapphire.PossibleValuesService.compute(PossibleValuesService.java:1)
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:103)
... 28 more

!ENTRY org.eclipse.ui.workbench 4 2 2015-04-29 07:07:17.274
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.RuntimeException: IModuleReferenceSystemLibrary.ResolvedPath: ResolvedPathDerivedValueService.compute() has failed
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:130)
at org.eclipse.sapphire.services.DataService.data(DataService.java:75)
at org.eclipse.sapphire.DerivedValueService.value(DerivedValueService.java:34)
at org.eclipse.sapphire.Value.refreshContent(Value.java:119)
at org.eclipse.sapphire.Value.refreshContent(Value.java:83)
at org.eclipse.sapphire.Value.text(Value.java:260)
at org.eclipse.sapphire.Value.text(Value.java:253)
at oracle.eclipse.tools.weblogic.syslib.internal.SystemLibrariesContainerImpl.createContainer(SystemLibrariesContainerImpl.java:200)
at oracle.eclipse.tools.weblogic.syslib.internal.SystemLibrariesContainerImpl$Initializer.initialize(SystemLibrariesContainerImpl.java:278)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2902)
at org.eclipse.jdt.internal.core.JavaModelManager.run(JavaModelManager.java:2808)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2848)
at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1932)
at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3247)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2693)
at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2857)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1962)
at org.eclipse.jdt.internal.core.JavaProject.isOnClasspath(JavaProject.java:2240)
at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.getOverlay(BuildpathIndicatorLabelDecorator.java:48)
at org.eclipse.jdt.internal.ui.BuildpathIndicatorLabelDecorator.decorate(BuildpathIndicatorLabelDecorator.java:35)
at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:273)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:83)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:367)
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:349)
at org.eclipse.ui.internal.decorators.DecorationScheduler.ensureResultCached(DecorationScheduler.java:372)
at org.eclipse.ui.internal.decorators.DecorationScheduler.run(DecorationScheduler.java:332)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.RuntimeException: IModuleReferenceSystemLibrary.ModuleId: PossibleValuesValidationService.compute() has failed
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:130)
at org.eclipse.sapphire.services.DataService.data(DataService.java:75)
at org.eclipse.sapphire.services.ValidationService.validation(ValidationService.java:49)
at org.eclipse.sapphire.Property.refreshValidation(Property.java:254)
at org.eclipse.sapphire.Property.validation(Property.java:476)
at oracle.eclipse.tools.weblogic.syslib.internal.ModuleReferenceSystemLibraryServices$ResolvedPathDerivedValueService.compute(ModuleReferenceSystemLibraryServices.java:74)
at oracle.eclipse.tools.weblogic.syslib.internal.ModuleReferenceSystemLibraryServices$ResolvedPathDerivedValueService.compute(ModuleReferenceSystemLibraryServices.java:1)
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:103)
... 28 more
Caused by: java.lang.RuntimeException: IModuleReferenceSystemLibrary.ModuleId: ModuleIdValuesProvider.compute() has failed
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:130)
at org.eclipse.sapphire.services.DataService.data(DataService.java:75)
at org.eclipse.sapphire.PossibleValuesService.values(PossibleValuesService.java:77)
at org.eclipse.sapphire.services.internal.PossibleValuesValidationService.compute(PossibleValuesValidationService.java:57)
at org.eclipse.sapphire.services.internal.PossibleValuesValidationService.compute(PossibleValuesValidationService.java:1)
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:103)
... 35 more
Caused by: java.lang.NullPointerException
at oracle.eclipse.tools.common.util.DomUtil.elements(DomUtil.java:152)
at oracle.eclipse.tools.weblogic.WebLogicServerInstall.parseFeatureXmlFile(WebLogicServerInstall.java:490)
at oracle.eclipse.tools.weblogic.WebLogicServerInstall.loadModulesRegistry(WebLogicServerInstall.java:477)
at oracle.eclipse.tools.weblogic.WebLogicServerInstall.getModules(WebLogicServerInstall.java:394)
at oracle.eclipse.tools.weblogic.syslib.internal.ModuleIdValuesProvider.compute(ModuleIdValuesProvider.java:22)
at org.eclipse.sapphire.PossibleValuesService.compute(PossibleValuesService.java:93)
at org.eclipse.sapphire.PossibleValuesService.compute(PossibleValuesService.java:1)
at org.eclipse.sapphire.services.DataService.refresh(DataService.java:103)
... 40 more

在我们的团队遇到这个问题后,我想我会 post 我们找到的解决方案。

这发生在我们从基于 Luna 的 IDE 版本转移到 Mars SR1 版本时。我们追踪到源代码管理中的一个文件。

.settings/oracle.eclipse.tools.weblogic.syslib.xml

一旦删除,eclipse 就会愉快地启动,我们就可以开始了。一位开发人员将问题追溯到文件中的一行。

<module id="javax.persistence" javadoc="http://java.sun.com/javaee/5/docs/api"/>

如果注释掉那个 行,eclipse oepe 错误就会消失。仅供参考,您在导入项目时不会看到此错误,只会在项目被拉下后的每次重新启动时看到。