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

问题描述 投票:0回答:8

我从 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)

我用谷歌搜索了很多次,但找不到解决方案。任何人都可以帮忙让部署大会发挥作用吗?我认为这是我的应用程序无法运行的关键。提前致谢。

java eclipse tomcat deployment
8个回答
12
投票

eclipse -clean 没有为我修复它。我的解决方法:在 Eclipse 中删除项目(不要在磁盘上删除)。然后在文件系统中删除 .project .classpath 和 .settings/* 然后在 Eclipse 中,同一工作区,创建与旧项目同名的新 Web 项目。它创建了该项目并找到了我的所有来源。现在部署程序集又可以工作了!之后,我更新了构建路径以获得正确的项目和库依赖项。


5
投票

请查看这个答案。如果

eclipse -clean
没有帮助,那么您的项目的特定设置可能有问题。我建议您检查
.settings/
目录中的每个文件。

我知道这不是一个现成的解决方案,但可能至少是一个起点。


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 来修复它。

希望这对遇到此问题的任何人都有帮助。


0
投票

删除 .project .classpath 和 .settings,然后创建一个新的(临时)工作空间 在新工作区中导入您的项目,这将生成新的 .project .classpath 和 .settings 文件。然后再次打开旧工作区,问题就得到解决。如果不需要临时工作区,可以将其删除


0
投票

请检查 .settings 文件夹下的文件“.settings/org.eclipse.wst.common.component”,该文件映射到 UI 中的部署程序集。请检查“wb-module”标签并清理其中的 wb-resource 项如果存在的话。

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


0
投票

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

不幸的是,在给定的错误状态下,Eclipse(版本:Mars.2 Release (4.5.2))不允许使用 GUI 来纠正问题......所以我接下来做了什么。

我发现

{workspace}/{project}/.settings
文件夹中的 xml 文件 org.eclipse.wst.common.component 中标记为: <wb-resource .... /> 的 wb 资源条目不完整。我需要在那里包含这样的东西:

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

wegb-row 不完整,src-containing-row 完全丢失。在早期的答案中,该文件/位置已被定位并被识别为可能损坏/无效。修复这个文件并没有让我得到 GUI 工作。接下来我必须从插件历史记录中删除几行。

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

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


0
投票

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

所以我卸载了该插件,问题就消失了,而没有更改我的工作空间。

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


0
投票

添加:

--launcher.GTK_version
2

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

© www.soinside.com 2019 - 2024. All rights reserved.