`
fantaxy025025
  • 浏览: 1311343 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

MyEclipse 打开Struts配置文件时出错的终级解决办法

阅读更多
参考博文:http://www.busfly.cn/post/MyEclipse-Struts-open-error.html

通过手动加入Struts包来开发J2EE工程,可是结果却发现不能使用Struts的默认编辑器来打开Struts配置文件,双击打开Struts配置文件时,就出错,图片如下:见连接

    org.eclipse.ui.PartInitException: Project newsjq is not configured as a MyEclipse Web-Struts Project. Therefore the MyEclipse Struts Editor may not be used with struts-config.xml. The default XML Editor has been used to open the file instead.
     at com.genuitec.eclipse.struts.editor.multipage.StrutsConfigEditor.init(StrutsConfigEditor.java:475)
     at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:794)
     at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643)
     at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:426)
     at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
     at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:299)
     at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:179)
     at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
     at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
     at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:400)
     at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
     at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
     at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1604)
     at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
     at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
     at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
     at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
     at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
     at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
     at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
     at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:774)
     at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:673)
     at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:634)
     at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2737)
     at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2651)
     at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:2643)
     at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2595)
     at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
     at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2590)
     at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2574)
     at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2565)
     at org.eclipse.ui.ide.IDE.openEditor(IDE.java:644)
     at org.eclipse.ui.ide.IDE.openEditor(IDE.java:603)
     at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:286)
     at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:139)
     at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:194)
     at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:175)
     at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:268)
     at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:244)
     at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:316)
     at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$5.open(PackageExplorerPart.java:613)
     at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820)
     at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
     at org.eclipse.core.runtime.Platform.run(Platform.java:857)
     at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
     at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
     at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:818)
     at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079)
     at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183)
     at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263)
     at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257)
     at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297)
     at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
     at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
     at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3682)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
     at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
     at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
     at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
     at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
     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:508)
     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
     at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
     at org.eclipse.equinox.launcher.Main.main(Main.java:1148)

看到"org.eclipse.ui.PartInitException: Project newsjq is not configured as a MyEclipse Web-Struts Project. Therefore the MyEclipse Struts Editor may not be used with struts-config.xml. The default XML Editor has been used to open the file instead."这行错误提示,还以为默认编辑器被修改了,于是重新将它设成默认编辑器,结果还是不行.

后来仔细对比了一下手动加入Struts包的项目与[右键单击工程,选择MyEclipse-> add Struts capabilities]加入Struts的项目比较,发现他们在项目的文件里有一点点的差别,那就是在在项目下的.project文件里少了一行代码<nature>com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature</nature>, 把这个加上去,就OK 了.

最后总结出修改办法,如下:

    解决办法一:,在项目下的.project文件里添加一行代码<nature>com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature</nature>,结果如下

    </projectDescription>
    ......
     </natures>
     ......
      <nature>com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature</nature>
     </natures>
    </projectDescription>
    刷新工程就可以正常打开了

    解决办法二:
    右键单击工程,选择MyEclipse-> add Struts capabilities

--------------------------------------------------------------------------------
我在按步骤操作自己的project时,却发现不行,思考后,发现自己的project同时没有加入Web-project特性,这就是原因。
这怎么办呢?添加web-project特性就行了,此时,又一个问题:默认为WebRoot,而我的却为web,在添加web-project特性时修改一下就ok了!

思考:
1. 原来Myeclipse中的 .project .classpath .mymetadata也是需要学习的!好处多多!

分享到:
评论

相关推荐

    MyEclipse+struts+Hibernate配置开发

    【MyEclipse+Struts+Hibernate配置开发】是Java Web开发中常见的技术栈组合,主要用于构建企业级的、基于模型-视图-控制器(MVC)架构的应用程序。本篇文章将简要介绍如何配置和使用这些工具进行开发。 首先,**...

    关于MyEclipse对Struts2配置文件较检异常

    当MyEclipse在验证配置文件时,如果发现结果的location属性或参数不符合预期,就会抛出这个异常。 一些开发者会尝试通过右键点击`struts.xml`,然后选择MyEclipse的“Remove All Validators”选项来解决这个问题。...

    myEclipse创建Struts Project

    1. **启动MyEclipse**:打开MyEclipse集成开发环境,确保已安装了Struts支持。 2. **创建新项目**:选择“File” &gt; “New” &gt; “Dynamic Web Project”,输入项目名称,选择目标服务器,点击“Next”。 3. **添加...

    MyEclipse开发Struts配置测试浅析

    初学者初次学习struts相当好,我第一次学struts就是看这个的,一看就懂,图文教程

    MyEclipse_Struts

    【MyEclipse_Struts】教程主要面向Struts初学者,旨在通过MyEclipse Enterprise Workbench这一集成开发环境,介绍如何创建、配置和测试一个简单的Struts应用程序。本教程假设读者已具备Sun JDK 1.4.2、Eclipse 3.0.1...

    MyEclipse开发Struts实例

    MyEclipse是一款强大的Java集成开发环境,尤其在处理Struts等Web应用框架时,提供了丰富的功能支持,如代码生成、调试、部署等。 在MyEclipse中开发Struts实例,首先需要理解以下几个核心概念: 1. **Action类**:...

    myeclipse+struts+ajax

    - Struts2的JSON插件为开发者提供了一种简单的方式来处理JSON数据,特别是在返回JSON格式的数据给客户端时特别有用。 #### 3.2 JSON插件使用示例 - **安装**:首先需要从官网下载JSON插件的JAR包,并将其添加到项目...

    MyEclipse开发Struts2

    完成这些步骤后,MyEclipse会在src目录下自动生成一个名为`struts.xml`的核心配置文件,这是整个Struts2应用的配置中心。 **编写JSP页面** 在Struts2中,JSP页面主要作为视图层,使用Struts2的标签库来处理用户交互...

    利用Myeclipse快速开发struts应用程序

    为项目添加Struts框架的支持,右键点击项目,选择"MyEclipse" -&gt; "Add Struts Capabilities...",在弹出的对话框中配置Struts配置文件路径、URL模式以及默认应用资源的位置。 4. **配置web.xml**: 修改`web.xml`...

    图解MyEclipse配置struts+hibernate+spring 免费下载

    图解MyEclipse配置struts+hibernate+spring图解MyEclipse配置struts+hibernate+spring图解MyEclipse配置struts+hibernate+spring图解MyEclipse配置struts+hibernate+spring图解MyEclipse配置struts+hibernate+spring...

    用MyEclipse工具struts实现的登录功能

    2. **配置文件**:主要包括`struts-config.xml`,这是Struts的配置中心,定义了Action、ActionForm、ActionForward等元素,用于映射请求到特定的Action。 3. **ActionForm**:用于收集用户输入的数据,如登录界面中...

    图文教程MyEclipse配置struts+hibernate+spring.doc

    在本文档中,我们可以看到如何使用MyEclipse来建立web项目、添加struts、hibernate和spring框架的文件、配置各种配置文件等。 6.FreeMarker模板引擎 FreeMarker是一个模板引擎,用于生成Web页面。在本文档中,我们...

    MyEclipse下配置Struts2(含文档及源码)

    此为MyEclipse下Struts2的配置使用文档,附件包括配置步骤文档及源码,文档为本人学习struts2配置一步一步所写,完全为个人对struts2的学习理解,如有不正确的地方,请留言批评指正,谢谢!附件包含项目源码,为本人...

    MyEclipse配置struts+hibernate+spring+FreeMarke

    在IT行业中,集成开发环境(IDE)如MyEclipse是开发者的重要工具,它提供了一站式的解决方案来构建复杂的Web应用程序。本教程将详细介绍如何在MyEclipse中配置四大框架:Struts、Hibernate、Spring和FreeMarker,以...

    struts2+myeclipse 配置入门

    MyEclipse是集成开发环境(IDE),尤其适合Java EE项目的开发,它集成了很多实用工具,如Tomcat服务器、数据库管理等,使得Struts2的配置和开发变得更加便捷。 在Struts2+MyEclipse的配置过程中,首先需要在...

    MyEclipse+struts+Hibernate配置

    《MyEclipse+Struts+Hibernate配置详解》 在Java Web开发领域,MyEclipse、Struts和Hibernate是三个非常重要的组件。MyEclipse是一款强大的集成开发环境,Struts是MVC框架的代表,而Hibernate则是流行的ORM(对象...

    一个简单的Myeclipse+Struts开发登陆的JSP例子

    右键点击项目名称,选择 "MyEclipse" -&gt; "Add Struts Capabilities...",然后选择 Struts 配置文件和 URL 模式,我们选择 "*.do"。最后,点击 "Finish" 按钮。 现在,我们的项目结构类似于图 3。在这个结构中,我们...

Global site tag (gtag.js) - Google Analytics