部署程序集:当前显示的页面包含无效值

时间:2013-01-11 01:55:19

标签: java eclipse tomcat deployment

我从Sourceforge导入了一个Java Web应用程序,我花了三个星期的努力来消除项目名称和包附加的所有红色十字架,但现在我无法在我的Eclipse& tomcat6开发环境。在项目属性中,当我尝试设置部署程序集时,对话框显示:当前显示的页面包含无效值。在错误日志中,我发现当我单击部署程序集时,显示以下错误消息:

错误


Wed Jan 09 10:25:16 CST 2013
Problems occurred when invoking code from plug-in: "org.eclipse.jface".

java.lang.NullPointerException
    at org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder.getFirstTaggedResource(VirtualFolder.java:185)
    at org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getDefaultDeploymentDescriptorFolder(J2EEModuleVirtualComponent.java:542)
    at org.eclipse.jst.j2ee.internal.ui.JavaEEDeploymentAssemblyAdvancedSectionBuilder.(JavaEEDeploymentAssemblyAdvancedSectionBuilder.java:86)
    at org.eclipse.jst.j2ee.internal.ui.J2EEModuleDependenciesPropertyPage.getAdvancedSectionBuilder(J2EEModuleDependenciesPropertyPage.java:381)
    at org.eclipse.jst.j2ee.internal.ui.J2EEModuleDependenciesPropertyPage.(J2EEModuleDependenciesPropertyPage.java:65)
    at org.eclipse.jst.servlet.ui.internal.WebDependencyPropertyPage.(WebDependencyPropertyPage.java:34)
    at org.eclipse.jst.servlet.ui.internal.WebModuleDependencyPageProvider.createPages(WebModuleDependencyPageProvider.java:54)
    at org.eclipse.wst.common.componentcore.ui.propertypage.ModuleAssemblyRootPage.createContents(ModuleAssemblyRootPage.java:195)
    at org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:232)
    at org.eclipse.wst.common.componentcore.ui.propertypage.ModuleAssemblyRootPage.createControl(ModuleAssemblyRootPage.java:346)
    at org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1502)
    at org.eclipse.jface.preference.PreferenceDialog$14.run(PreferenceDialog.java:1259)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1253)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:675)
    at org.eclipse.jface.preference.PreferenceDialog$10.run(PreferenceDialog.java:709)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.preference.PreferenceDialog$9.selectionChanged(PreferenceDialog.java:705)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:888)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:886)
    at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1226)
    at org.eclipse.jface.viewers.StructuredViewer$5.widgetSelected(StructuredViewer.java:1251)
    at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:262)
    at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:256)
    at org.eclipse.jface.util.OpenStrategy$3.run(OpenStrategy.java:433)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4144)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:158)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    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:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    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:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    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:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
我多次用Google搜索,但我找不到解决方案。任何人都可以帮忙让部署程序集工作吗?我认为这是我的应用程序无法运行的关键。提前致谢。

8 个答案:

答案 0 :(得分:11)

eclipse -clean没有为我解决这个问题。我的解决方法:在eclipse中删除项目(不要在磁盘上删除)。然后在文件系统中删除.project .classpath和.settings / *然后在eclipse中,在相同的工作空间中,创建与旧的同名的新webproject。它创建了该项目并找到了我的所有资源。现在部署组件再次运行!之后,我更新了构建路径以获得正确的项目和lib依赖项。

答案 1 :(得分:5)

请看这个:https://stackoverflow.com/a/3492924 如果clean无效,那么项目的具体设置可能出现问题。我建议你检查.settings/目录中的每个文件。

我知道这不是一个随时可用的解决方案,但可能至少是一个起点。祝你好运。

答案 2 :(得分:3)

我也遇到过这个问题。这是因为我删除了我当前项目所依赖的另一个项目。我通过在.settings文件夹中打开文件org.eclipse.wst.common.component并删除依赖项来修复此问题。这解决了问题,我能够编辑部署程序集。

我删除的部分:( utility.jar是我的违规jar的名称)

   <dependent-module archiveName="utility.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/utility/utility">
        <dependency-type>uses</dependency-type>
    </dependent-module>

我使用的其他人可以通过从构建路径中删除jar来修复它。

希望这可以帮助任何人解决这个问题。

答案 3 :(得分:0)

删除.project .classpath和.settings然后清除一个新的(临时)工作区 在新工作区中导入项目,这将生成新的.project .classpath和.settings文件。然后再次打开旧工作区并修复问题。如果不需要,可以删除临时工作空间

答案 4 :(得分:0)

请检查此文件&#34; .settings / org.eclipse.wst.common.component&#34;在.settings文件夹下,映射到UI中的部署程序集。请检查&#34; wb-module&#34;标记并清理其中的wb-resource项(如果存在)。

此文件将在eclipse的导航器视图中可见

答案 5 :(得分:0)

在添加 Source (文件夹)并尝试修改 Deploy Path 后,我在不同情况下遇到了相同的状态。因此,得到了相同的错误消息: Deployment Assembly:当前显示的页面包含无效值。不幸的是,上述想法没有帮助,许多想法似乎建议对似乎很小的配置问题进行更大的删除/重新安装操作。

不幸的是,在给定的错误状态下,Eclipse(版本:Mars.2版本(4.5.2))不允许使用GUI进行更正...所以我接下来要做的事情。

我发现在 {workspace} / {project} /中的 xml文件org.eclipse.wst.common.component 中标记为<wb-resource .... />的条目。设置-文件夹中的wb-resources输入不完整。我需要在其中包含以下内容:

<wb-resource deploy-path="/" source-path="/web" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>

wegb行不完整,并且包含src的行完全丢失。此文件/位置已被确定为目标,并且在较早的答案中也被标识为潜在损坏/无效。修复此文件并不能使GUI工作。接下来,我不得不从插件历史记录中删除几行。

{workspace} /。metadata / .plugins / org.eclipse.core.resources / .history 文件夹中,我找到了最新文件夹,并删除了包含与 Deployment Assembly 相关的更改的文件夹。

重启Eclipse之后,我可以再次使用GUI进行配置! 我不需要删除/重新安装项目(由于配置过多,我想避免重新安装项目)。我希望这可以帮助其他人遇到相同的错误消息。

答案 6 :(得分:0)

我遇到了同样的问题,我意识到它是在我将其安装到Neon.1a Eclipse中之后才开始的,该插件针对的是3.x版。

所以我卸载了该插件,问题消失了,而没有改变我的工作区。

(仅是为了完成信息,我将说“罪魁祸首”是Randalco EHP插件,但我想任何旧版本的插件也可能都是可疑的。)

答案 7 :(得分:0)

添加:

--launcher.GTK_version
2

到 eclipse.ini 为我在 Fedora 33 GNOME 上解决了问题