2012-01-01 113 views
3

我使用适用于Java和Scala编程的Mac OS X 10.6.8(Snow Leopard)上的IntelliJ IDEA 11.0.1(Community Edition)。今天我想第一次处理Maven,因为我还没有任何构建工具的经验。但不知何故,IDEA中的Maven支持似乎根本不起作用。IntelliJ IDEA 11:Maven支持不起作用

一些事实:

  • 的Maven 3.0.3已经通过的MacPorts安装在/Applications/MacPorts/share/java/maven3
  • 的Maven插件已经在插件管理器
  • 环境变量M2和M2_HOME在~/.MacOSX/environment.plist 设置被激活
    • M2:/Applications/MacPorts/share/java/maven3/bin
    • M2_HOME:/Applications/MacPorts/share/java/maven3
  • 的Maven在IDEA设置被设置为默认
  • Maven可以从命令行调用没有任何问题和工作正常

如果我尝试通过File > Open Project打开任何pom.xml文件,什么都没发生。有时一个带有进度条的小窗口会打开一两秒钟,显然是扫描一些文件,但始终没有任何效果。

如果我尝试通过File > New Project > Import Project from External Model导入现有的Maven项目,我只能到窗口中定义项目根目录和几个Maven设置。当我点击Next时,没有任何反应。

如果我在Maven项目上执行Maven目标mvn idea:idea,我可以在IDEA中打开它。打开后,IDEA的右上角会出现一个绿色的窗口,表示Maven projects need to be imported有两个选项:Import changesEnable Auto-Import。我选择哪一个并不重要,因为似乎没有任何事情发生。当我打开IDEA右侧的Maven Projects面板时,它仍然显示There are no Maven projects to display。如果我尝试在该面板中添加Maven项目,或者没有像以前那样发生任何事情,或者IDEA甚至完全拒绝在Select Path窗口中打开pom.xml文件,因为OK按钮灰显。

我检查了Help > Reveal Log in Finder下的日志文件,他们声明了一些与Maven有关的重复异常。这里有两个例子:

2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - IntelliJ IDEA 11.0.1 Build #IU-111.167 
2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - JDK: 1.6.0_29 
2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - VM: Java HotSpot(TM) 64-Bit Server VM 
2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - Vendor: Apple Inc. 
2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - OS: Mac OS X 
2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - Last Action: OpenProject 
2012-01-01 22:42:26,736 [3469999] ERROR - #org.jetbrains.idea.maven - Original exception: 
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.io.InvalidClassException: gnu.trove.TObjectHash; local class incompatible: stream classdesc serialVersionUID = 1980179659817003644, local class serialVersionUID = -3461112548087185871 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:334) 
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:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:680) 
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) 
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) 
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 $Proxy80.applyProfiles(Unknown Source) 
at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at com.intellij.execution.rmi.RemoteUtil$3$1$1.compute(RemoteUtil.java:94) 
at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:132) 
at com.intellij.execution.rmi.RemoteUtil$3$1.invoke(RemoteUtil.java:91) 
at $Proxy80.applyProfiles(Unknown Source) 
at org.jetbrains.idea.maven.server.MavenServerManager$8.execute(MavenServerManager.java:316) 
at org.jetbrains.idea.maven.server.MavenServerManager$8.execute(MavenServerManager.java:313) 
at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:76) 
at org.jetbrains.idea.maven.server.MavenServerManager.applyProfiles(MavenServerManager.java:313) 
at org.jetbrains.idea.maven.project.MavenProjectReader.applyProfiles(MavenProjectReader.java:357) 
at org.jetbrains.idea.maven.project.MavenProjectReader.doReadProjectModel(MavenProjectReader.java:90) 
at org.jetbrains.idea.maven.project.MavenProjectReader.readProject(MavenProjectReader.java:53) 
at org.jetbrains.idea.maven.project.MavenProject.read(MavenProject.java:389) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.doUpdate(MavenProjectsTree.java:537) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.doAdd(MavenProjectsTree.java:484) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.update(MavenProjectsTree.java:445) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.updateAll(MavenProjectsTree.java:416) 
at org.jetbrains.idea.maven.project.MavenProjectsProcessorReadingTask.perform(MavenProjectsProcessorReadingTask.java:60) 
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$9.run(MavenUtil.java:396) 
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:422) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
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:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:680) 
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) 
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.io.InvalidClassException: gnu.trove.TObjectHash; local class incompatible: stream classdesc serialVersionUID = 1980179659817003644, local class serialVersionUID = -3461112548087185871 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:291) 
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:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:680) 
Caused by: java.io.InvalidClassException: gnu.trove.TObjectHash; local class incompatible: stream classdesc serialVersionUID = 1980179659817003644, local class serialVersionUID = -3461112548087185871 
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) 
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582) 
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) 
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582) 
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) 
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) 
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) 
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) 
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306) 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:288) 

下一页:

2012-01-01 21:45:33,856 [ 57119] INFO - api.vfs.impl.local.FileWatcher - 1 paths checked, 0 mapped, 44 mks 
2012-01-01 21:46:16,240 [ 99503] INFO - api.vfs.impl.local.FileWatcher - 7 paths checked, 0 mapped, 449 mks 
2012-01-01 21:47:17,728 [ 160991] INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $OPTIONS$/dataSources.xml file is null 
2012-01-01 21:47:17,728 [ 160991] INFO - .impl.stores.XmlElementStorage - Document was not loaded for $OPTIONS$/dataSources.xml 
2012-01-01 21:47:17,763 [ 161026] INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $PROJECT_CONFIG_DIR$/dataSources.xml file is null 
2012-01-01 21:47:17,763 [ 161026] INFO - .impl.stores.XmlElementStorage - Document was not loaded for $PROJECT_CONFIG_DIR$/dataSources.xml 
2012-01-01 21:47:17,867 [ 161130] INFO - api.vfs.impl.local.FileWatcher - 2 paths checked, 0 mapped, 153 mks 
2012-01-01 21:47:34,669 [ 177932] INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $APP_CONFIG$/print.xml file is null 
2012-01-01 21:47:34,669 [ 177932] INFO - .impl.stores.XmlElementStorage - Document was not loaded for $APP_CONFIG$/print.xml 
2012-01-01 21:47:56,928 [ 200191] ERROR - com.intellij.ide.IdeEventQueue - Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.ui.mac.MacFileChooserDialo [email protected],notifier=null,catchExceptions=false,when=1325450876871] on [email protected] 
java.lang.RuntimeException: Cannot reconnect. 
at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:82) 
at org.jetbrains.idea.maven.server.MavenServerManager.applyProfiles(MavenServerManager.java:313) 
at org.jetbrains.idea.maven.project.MavenProjectReader.applyProfiles(MavenProjectReader.java:357) 
at org.jetbrains.idea.maven.project.MavenProjectReader.doReadProjectModel(MavenProjectReader.java:90) 
at org.jetbrains.idea.maven.project.MavenProjectReader.readProject(MavenProjectReader.java:53) 
at org.jetbrains.idea.maven.project.MavenProject.read(MavenProject.java:389) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.doUpdate(MavenProjectsTree.java:537) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.doAdd(MavenProjectsTree.java:484) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.update(MavenProjectsTree.java:445) 
at org.jetbrains.idea.maven.project.MavenProjectsTree.updateAll(MavenProjectsTree.java:416) 
at org.jetbrains.idea.maven.wizards.MavenProjectBuilder.readMavenProjectTree(MavenProjectBuilder.java:198) 
at org.jetbrains.idea.maven.wizards.MavenProjectBuilder.access$800(MavenProjectBuilder.java:44) 
at org.jetbrains.idea.maven.wizards.MavenProjectBuilder$3.run(MavenProjectBuilder.java:179) 
at org.jetbrains.idea.maven.utils.MavenUtil$8.run(MavenUtil.java:364) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:457) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl$5.run(ProgressManagerImpl.java:276) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:206) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:169) 
at com.intellij.openapi.application.impl.ApplicationImpl$8$1.run(ApplicationImpl.java:629) 
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:422) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
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:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:680) 
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) 
Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
java.io.InvalidClassException: gnu.trove.TObjectHash; local class incompatible: stream classdesc serialVersionUID = 1980179659817003644, local class serialVersionUID = -3461112548087185871 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:334) 
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:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:680) 
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) 
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) 
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 $Proxy80.applyProfiles(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$3$1$1.compute(RemoteUtil.java:94) 
at com.intellij.execution.rmi.RemoteUtil.executeWithClassLoader(RemoteUtil.java:132) 
at com.intellij.execution.rmi.RemoteUtil$3$1.invoke(RemoteUtil.java:91) 
at $Proxy80.applyProfiles(Unknown Source) 
at org.jetbrains.idea.maven.server.MavenServerManager$8.execute(MavenServerManager.java:316) 
at org.jetbrains.idea.maven.server.MavenServerManager$8.execute(MavenServerManager.java:313) 
at org.jetbrains.idea.maven.server.RemoteObjectWrapper.perform(RemoteObjectWrapper.java:76) 

谁能帮助我?

回答

1

尝试设置M2_HOME环境变量as described in the FAQ。如果没有帮助,请检查idea.log以了解例外情况(Help | Reveal Log in Finder)。如果日志中有任何相关的例外情况,则为worth filing a bug

+0

感谢您的快速回复。我已经为OS X 10.6及更高版本设置了环境变量,所以这不应该成为问题。我检查了日志文件,发现了一些提到Maven的例外。我已将其中两个附加到我的初始发帖中。这些帮助你吗? – pemistahl 2012-01-01 22:52:59

+0

我刚刚发布了一个[YouTrack上的bug报告](http:// youtrack。jetbrains.net/issue/IDEA-79559),更详细的例外。我希望能尽快解决这个烦人的bug。 – pemistahl 2012-01-02 01:22:00