因爲沒有正常關機致使eclipse沒法將數據正常寫入配置文件致使沒法啓動。報這樣一個異常java
An internal error occurred during: "reload maven project". java.lang.NullPointerException
查看workspace/.metadata/.log發現以下異常:session
!ENTRY org.eclipse.core.resources 2 10035 2015-12-15 09:31:13.488 !MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. !ENTRY org.eclipse.jst.jsp.core 4 4 2015-12-15 09:31:24.995 !MESSAGE A workspace crash was detected. The previous session did not exit normally. Not using saved taglib indexes. !ENTRY org.eclipse.m2e.logback.appender 4 0 2015-12-15 09:31:35.362 !MESSAGE Cannot determine URI for '/maentest/pom.xml'. !STACK 1 org.eclipse.ui.PartInitException: Cannot determine URI for '/maentest/pom.xml'. at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3252) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3265) at org.eclipse.wst.sse.ui.StructuredTextEditor.init(StructuredTextEditor.java:2620) at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:239) at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:325) at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:213) at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:308) at org.eclipse.m2e.editor.pom.MavenPomEditor.addSourcePage(MavenPomEditor.java:618) at org.eclipse.m2e.editor.pom.MavenPomEditor.addPages(MavenPomEditor.java:353) at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138) at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:362) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:141) at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:327) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:888) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:869) at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:120) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:337) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:258) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:127) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:983) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1250) at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:100) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:678) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:547) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:531) at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:69) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:983) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:185) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:185) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:185) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:49) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:103) at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:100) at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:77) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:678) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:185) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68) at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:664) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1078) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) Caused by: org.eclipse.core.runtime.CoreException: Cannot determine URI for '/maentest/pom.xml'. at org.eclipse.core.internal.filebuffers.ResourceFileBuffer.create(ResourceFileBuffer.java:238) at org.eclipse.core.internal.filebuffers.TextFileBufferManager.connect(TextFileBufferManager.java:112) at org.eclipse.ui.editors.text.TextFileDocumentProvider.createFileInfo(TextFileDocumentProvider.java:559) at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:478) at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4233) at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1480) at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169) at org.eclipse.wst.sse.ui.StructuredTextEditor.doSetInput(StructuredTextEditor.java:1943) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3220) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2099) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3238) ... 134 more !SUBENTRY 1 org.eclipse.core.filebuffers 4 0 2015-12-15 09:31:35.366
網上查了下說刪除.metadata目錄後從新導入項目便可,嘗試了一下確實可行。但因爲項目較多並且不少配置項須要從新配,這種狀況下只好另覓道路了。既然刪除.metada能夠正常啓動,如此能夠推斷只要將異常的項目從.metadata中移除便可。因而經過everything快速找到相應工程的文件將其一一刪除,重啓後仍是不行。app
因而經過sublime搜索.metadata下包含「maentest」的文件,並將相應的配置項一一刪除。最後發現是eclipse加載界面配置文件workbench.xmi中的sharedElements配置項找不到相應的文件致使的異常。因而將對應的sharedElements刪除,再次重啓。妥妥的。eclipse
找到相應的sharedElements將其刪除jsp
<sharedElements xsi:type="advanced:Area" xmi:id="_jXtqeaLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.ui.editorss" selectedElement="_jXtqeqLJEeWtfsF9a_Yr8Q"> <children xsi:type="basic:PartStack" xmi:id="_jXtqeqLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.e4.primaryDataStack" selectedElement="_jXtqe6LJEeWtfsF9a_Yr8Q"> <tags>newtablook</tags> <tags>org.eclipse.e4.primaryDataStack</tags> <tags>EditorStack</tags> <tags>noFocus</tags> <children xsi:type="basic:Part" xmi:id="_jXtqe6LJEeWtfsF9a_Yr8Q" elementId="org.eclipse.e4.ui.compatibility.editor" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor" label="maentest/pom.xml" iconURI="platform:/plugin/org.eclipse.m2e.editor/icons/editor-pom.gif" closeable="true"> <persistedState key="memento" value="<?xml version="1.0" encoding="UTF-8"?>
<editor id="org.eclipse.m2e.editor.MavenPomEditor" name="pom.xml" partName="maentest/pom.xml" title="maentest/pom.xml" tooltip="maentest/pom.xml">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/maentest/pom.xml"/>
</editor>"/> <tags>Editor</tags> <tags>org.eclipse.m2e.editor.MavenPomEditor</tags> <tags>removeOnHide</tags> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqfKLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.core.runtime.xml.source.EditorContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.core.runtime.xml.source.EditorContext</tags> <tags>popup:.EditorContext</tags> <tags>popup:#AbstractTextEditorContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqfaLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.core.runtime.xml.source.RulerContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.core.runtime.xml.source.RulerContext</tags> <tags>popup:.RulerContext</tags> <tags>popup:#AbstractTextEditorRulerContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqfqLJEeWtfsF9a_Yr8Q" elementId="#OverviewRulerContext"> <tags>menuContribution:popup</tags> <tags>popup:#OverviewRulerContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqf6LJEeWtfsF9a_Yr8Q" elementId="org.eclipse.core.runtime.xml.source.EditorContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.core.runtime.xml.source.EditorContext</tags> <tags>popup:.source.EditorContext</tags> <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.EditorContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqgKLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.core.runtime.xml.source.RulerContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.core.runtime.xml.source.RulerContext</tags> <tags>popup:.source.RulerContext</tags> <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.RulerContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqgaLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.m2e.core.pomFile.source.EditorContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.m2e.core.pomFile.source.EditorContext</tags> <tags>popup:org.eclipse.core.runtime.xml.source.EditorContext</tags> <tags>popup:#AbstractTextEditorContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqgqLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.m2e.core.pomFile.source.RulerContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.m2e.core.pomFile.source.RulerContext</tags> <tags>popup:org.eclipse.core.runtime.xml.source.RulerContext</tags> <tags>popup:#AbstractTextEditorRulerContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqg6LJEeWtfsF9a_Yr8Q" elementId="#OverviewRulerContext"> <tags>menuContribution:popup</tags> <tags>popup:#OverviewRulerContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqhKLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.m2e.core.pomFile.source.EditorContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.m2e.core.pomFile.source.EditorContext</tags> <tags>popup:org.eclipse.core.runtime.xml.source.source.EditorContext</tags> <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.EditorContext</tags> </menus> <menus xsi:type="menu:PopupMenu" xmi:id="_jXtqhaLJEeWtfsF9a_Yr8Q" elementId="org.eclipse.m2e.core.pomFile.source.RulerContext"> <tags>menuContribution:popup</tags> <tags>popup:org.eclipse.m2e.core.pomFile.source.RulerContext</tags> <tags>popup:org.eclipse.core.runtime.xml.source.source.RulerContext</tags> <tags>popup:org.eclipse.wst.sse.ui.StructuredTextEditor.RulerContext</tags> </menus> </children> </children> </sharedElements>
刪除後再次啓動便可。maven