从12升级到Intellij 13.1后,Maven项目将无法编译

升级后,我的代码不再编译。 来自作为maven依赖项包含的库的导入显示编译问题,无法解析符号。 我已经使缓存失效并重新启动了Intellij。 我已经清除了.m2 / repository并在依赖项中观察了Intellij repull。 拉入依赖项似乎工作正常,但然后无法加载是我的猜测。

在我的Idea日志中,我看到以下例外情况:

2014-03-20 14:04:49,587 [ 27517] WARN - ution.rmi.RemoteProcessSupport - log4j:WARN No appenders could be found for logger (org.apache.maven.wagon.providers.http.httpclient.impl.conn.PoolingClientConnectionManager). 2014-03-20 14:04:49,588 [ 27518] WARN - ution.rmi.RemoteProcessSupport - log4j:WARN Please initialize the log4j system properly. 2014-03-20 14:04:49,588 [ 27518] WARN - ution.rmi.RemoteProcessSupport - log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 2014-03-20 14:04:53,009 [ 30939] INFO - #org.jetbrains.idea.maven - Cannot reconnect. java.lang.RuntimeException: Cannot reconnect. at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:98) at org.jetbrains.idea.maven.server.MavenEmbedderWrapper.resolveProject(MavenEmbedderWrapper.java:97) at org.jetbrains.idea.maven.project.MavenProjectReader.resolveProject(MavenProjectReader.java:462) at org.jetbrains.idea.maven.project.MavenProject.resolve(MavenProject.java:587) at org.jetbrains.idea.maven.project.MavenProjectsTree.resolve(MavenProjectsTree.java:1215) at org.jetbrains.idea.maven.project.MavenProjectsProcessorResolvingTask.perform(MavenProjectsProcessorResolvingTask.java:42) at org.jetbrains.idea.maven.project.MavenProjectsProcessor.doProcessPendingTasks(MavenProjectsProcessor.java:131) at org.jetbrains.idea.maven.project.MavenProjectsProcessor.access$100(MavenProjectsProcessor.java:28) at org.jetbrains.idea.maven.project.MavenProjectsProcessor$2.run(MavenProjectsProcessor.java:107) at org.jetbrains.idea.maven.utils.MavenUtil$6.run(MavenUtil.java:440) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:419) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695) at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:149) Caused by: java.rmi.UnmarshalException: Error unmarshaling return; nested exception is: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.maven.model.building.DefaultModelBuildingResult at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:227) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132) at com.sun.proxy.$Proxy108.resolveProject(Unknown Source) 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 com.intellij.execution.rmi.RemoteUtil$2$1$1.compute(RemoteUtil.java:106) at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:167) at com.intellij.execution.rmi.RemoteUtil$2$1.invoke(RemoteUtil.java:102) at com.sun.proxy.$Proxy108.resolveProject(Unknown Source) at org.jetbrains.idea.maven.server.MavenEmbedderWrapper$4.execute(MavenEmbedderWrapper.java:100) at org.jetbrains.idea.maven.server.MavenEmbedderWrapper$4.execute(MavenEmbedderWrapper.java:97) at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:89) ... 17 more Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: org.apache.maven.model.building.DefaultModelBuildingResult at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1895) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1895) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1970) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1895) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1777) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:225) ... 32 more Caused by: java.io.NotSerializableException: org.apache.maven.model.building.DefaultModelBuildingResult at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1165) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1535) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1413) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1535) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422) at java.lang.Throwable.writeObject(Throwable.java:652) 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 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:950) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1482) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1413) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1535) at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422) at java.lang.Throwable.writeObject(Throwable.java:652) 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 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:950) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1482) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1413) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1159) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:329) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:341) at sun.rmi.transport.Transport$1.run(Transport.java:159) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:155) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695) 2014-03-20 14:07:29,757 [ 187687] INFO - ellij.vfs.persistent.FSRecords - Creating VFS corruption marker; Trace= java.lang.Exception at com.intellij.openapi.vfs.newvfs.persistent.FSRecords$DbConnection.createBrokenMarkerFile(FSRecords.java:193) at com.intellij.openapi.vfs.newvfs.persistent.FSRecords$DbConnection.access$2700(FSRecords.java:136) at com.intellij.openapi.vfs.newvfs.persistent.FSRecords.invalidateCaches(FSRecords.java:1613) at com.intellij.ide.actions.InvalidateCachesAction.actionPerformed(InvalidateCachesAction.java:65) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:164) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:261) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:923) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:231) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:104) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291) at javax.swing.AbstractButton.doClick(AbstractButton.java:389) at com.apple.laf.ScreenMenuItemCheckbox.itemStateChanged(ScreenMenuItemCheckbox.java:178) at java.awt.CheckboxMenuItem.processItemEvent(CheckboxMenuItem.java:372) at java.awt.CheckboxMenuItem.processEvent(CheckboxMenuItem.java:340) at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:343) at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:331) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:720) at java.awt.EventQueue.access$400(EventQueue.java:82) at java.awt.EventQueue$2.run(EventQueue.java:676) at java.awt.EventQueue$2.run(EventQueue.java:674) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97) at java.awt.EventQueue$3.run(EventQueue.java:690) at java.awt.EventQueue$3.run(EventQueue.java:688) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) at java.awt.EventQueue.dispatchEvent(EventQueue.java:687) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:697) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 

禁用“设置| Maven |导入”中的Maven 3复选框。

使您的Idea缓存无效并重新启动Idea。

在我的情况下, 无法重新连接错误是由于缺少类DependencyTreeResolutionListener作为idea.log状态引起的。 我注意到包含这个类的库在maven3插件中不存在但存在于maven2中。 所以我将maven-dependency-tree-1.2.jar/plugins/maven/lib/maven2 /plugins/maven/lib/maven3/plugins/maven/lib/maven3 。 然后我通过在Maven Projects工具窗口中按下Reimport All Maven Projects按钮来更新当前的maven项目。 之后错误消失了。

这对我有用:

设置(Ctrl + Alt + S)> Maven>导入> JDK for importer:使用JAVA_HOME

对我来说,增加Maven分配的内存有效:

设置 – > Maven – > Runner> VM选项:-Xms128m -Xmx512m

更改在文件 – >设置 – >构建,执行和部署 – >构建工具 – > Maven – >导入到’使用JAVA_HOME’下找到的’JDK for importer’