有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java IntelliJ IDEA 11:Maven支持不起作用

我在Mac OS X 10.6.8(Snow Leopard)上使用IntelliJ IDEA 11.0.1(社区版)进行Java和Scala编程。今天我想第一次和Maven打交道,因为我还没有任何构建工具的经验。但不知何故,IDEA中的专家支持似乎根本不起作用

一些事实:

  • 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
  • IDEA中的Maven设置设置为默认值
  • Maven可以从命令行调用,不会出现任何问题,而且工作正常

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

如果我试图通过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项目面板时,它仍然显示There are no Maven projects to display。如果我试图在这个面板中添加一个Maven项目,要么什么都没有发生,要么IDEA甚至完全拒绝打开pom。xml文件在Select Path窗口中,因为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 gImpl$4$1@5f2d6fa7,notifier=null,catchExceptions=false,when=1325450876871] on apple.awt.CToolkit@4ad70ab0 
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) 个答案

  1. # 1 楼答案

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