MyEclipse Server view報錯解決方法html
MyEclipse Server view報錯解決方法html
啓動MyEclipse,彈出一個框,報錯。java
--------------------------------------------------------------------------------web
Errors occurred during the build.apache
Errors running builder 'DeploymentBuilder' on project 'SeNT-DL'.tomcat
java.lang.NullPointerExceptionapp
Server view報錯:eclipse
--------------------------------------------------------------------------------webapp
Could not create the view: An unexpected exception was thrown.ide
Server view報錯:oop
--------------------------------------------------------------------------------
java.lang.NullPointerException
at com.genuitec.eclipse.ast.deploy.core.Deployment.<init>(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.ModuleDeployment.<init>(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.WebDeployment.<init>(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.Deployment.create(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.DeploymentManager.loadFromPreferences(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.DeploymentManager.init(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.DeploymentManager.<init>(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.DeploymentManager.getDefault(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.ui.ServerTreeViewer$ServerTreeContentProvider.inputChanged(Unknown Source)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:276)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1690)
at com.genuitec.eclipse.ast.deploy.core.ui.ServerTreeViewer.<init>(Unknown Source)
at com.genuitec.eclipse.ast.deploy.core.ui.ServerView.createPartControl(Unknown Source)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.Perspective.showFastView(Perspective.java:2171)
at org.eclipse.ui.internal.Perspective.setActiveFastView(Perspective.java:1939)
at org.eclipse.ui.internal.Perspective.setActiveFastView(Perspective.java:1952)
at org.eclipse.ui.internal.Perspective.toggleFastView(Perspective.java:2367)
at org.eclipse.ui.internal.WorkbenchPage.toggleFastView(WorkbenchPage.java:3972)
at org.eclipse.ui.internal.ShowFastViewContribution.showView(ShowFastViewContribution.java:157)
at org.eclipse.ui.internal.ShowFastViewContribution.access$1(ShowFastViewContribution.java:155)
at org.eclipse.ui.internal.ShowFastViewContribution$3.widgetSelected(ShowFastViewContribution.java:138)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
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:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
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:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Server視圖顯示的是項目部署在Server的狀況,每一個工做空間都有個性化配置。找到工做空間的Server項目部署配置文件。
--------------------------------------------------------------------------------
目錄是$工做空間\.metadata\.plugins\org.eclipse.core.runtime\.settings\com.genuitec.eclipse.ast.deploy.core.prefs
根據工做空間的Server項目部署配置文件能夠看出,Server部署了兩個項目,分別是SeNT-DL,SeNT-b11M
--------------------------------------------------------------------------------
eclipse.preferences.version=1
tomcat7Server.SeNT-DL.IEARProjectName=
tomcat7Server.SeNT-DL.altContextRoot=
tomcat7Server.SeNT-DL.contextRoot=/SeNT-DL
tomcat7Server.SeNT-DL.deployIsOverProject=false
tomcat7Server.SeNT-DL.deploymentPath=F\:\\apache-tomcat-7.0.55\\webapps\\SeNT-DL
tomcat7Server.SeNT-DL.isDeployed=true
tomcat7Server.SeNT-DL.isExploded=true
tomcat7Server.SeNT-DL.isUptoDate=true
tomcat7Server.SeNT-DL.noFileCopy=false
tomcat7Server.SeNT-DL.shouldBackup=false
tomcat7Server.SeNT-DL.shouldOverwrite=false
tomcat7Server.SeNT-DL.type=WebDeployment
tomcat7Server.SeNT-b11M.IEARProjectName=
tomcat7Server.SeNT-b11M.altContextRoot=
tomcat7Server.SeNT-b11M.contextRoot=/SeNT-b11M
tomcat7Server.SeNT-b11M.deployIsOverProject=false
tomcat7Server.SeNT-b11M.deploymentPath=F\:\\apache-tomcat-7.0.55\\webapps\\SeNT-b11M
tomcat7Server.SeNT-b11M.isDeployed=true
tomcat7Server.SeNT-b11M.isExploded=true
tomcat7Server.SeNT-b11M.isUptoDate=true
tomcat7Server.SeNT-b11M.noFileCopy=false
tomcat7Server.SeNT-b11M.shouldBackup=false
tomcat7Server.SeNT-b11M.shouldOverwrite=false
tomcat7Server.SeNT-b11M.type=WebDeployment
實際上,Server只部署了一個項目SeNT-DL,另一個項目SeNT-b11M被刪除了。
另一個項目SeNT-b11M被刪除了,刪除的方式是進入tomcat的webapps,直接刪除。沒有通知MyEclipse,致使MyEclipse的工做空間的Server項目部署配置文件沒有作更新,依舊配置Server部署了兩個項目,分別是SeNT-DL,SeNT-b11M。
解決方法一:更新MyEclipse的工做空間的Server項目部署配置文件com.genuitec.eclipse.ast.deploy.core.prefs,根據實際狀況,刪除已經不存在於Server的項目配置。把如下高亮部分配置刪除。
解決方法二:刪除tomcat的webapps的全部項目,刪除文件com.genuitec.eclipse.ast.deploy.core.prefs。這種方式至關於清空部署在tomcat的全部項目,清空MyEclipse的工做空間的Server項目部署配置文件。(本人使用的就是這一種方法 ,直接刪除)
爲了不此類問題再次出現,想要刪除部署在tomcat的項目時,不要進入tomcat的webapps,直接刪除,而是在server view視圖作刪除。在server view視圖作刪除項目時,MyEclipse會更新工做空間的Server項目部署配置文件。