IntelliJ IDEA 11: поддержка Maven не работает - PullRequest
3 голосов
/ 02 января 2012

Я использую IntelliJ IDEA 11.0.1 (Community Edition) в Mac OS X 10.6.8 (Snow Leopard) для программирования на Java и Scala. Сегодня я впервые хотел иметь дело с Maven, так как у меня пока нет опыта работы с инструментами сборки. Но почему-то поддержка Maven в IDEA, похоже, не работает вообще.

Некоторые факты:

  • Maven 3.0.3 был установлен через MacPorts в /Applications/MacPorts/share/java/maven3
  • плагин Maven был активирован в менеджере плагинов
  • Переменные среды M2 и M2_HOME установлены в ~/.MacOSX/environment.plist
    • М2: /Applications/MacPorts/share/java/maven3/bin
    • M2_HOME: /Applications/MacPorts/share/java/maven3
  • Настройки Maven в IDEA установлены по умолчанию
  • Maven можно вызывать из командной строки без проблем и отлично работает

Если я попытаюсь открыть любой файл pom.xml через File > Open Project, ничего не произойдет. Иногда небольшое окно с индикатором выполнения открывается на секунду или две, очевидно, сканируя некоторые файлы, но всегда без какого-либо эффекта.

Если я пытаюсь импортировать существующий проект Maven через File > New Project > Import Project from External Model, я попадаю только в окно, где я могу определить корневой каталог проекта и несколько настроек Maven. Когда я нажимаю Next, ничего не происходит.

Если я выполню цель Maven mvn idea:idea в проекте Maven, я смогу открыть его в IDEA. После его открытия в правом верхнем углу IDEA появляется небольшое зеленое окно с надписью Maven projects need to be imported с двумя вариантами: Import changes и Enable Auto-Import. Неважно, какой я выберу, потому что ничего не происходит. Когда я открываю панель Maven Projects в правой части IDEA, она по-прежнему показывает 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 голос
/ 02 января 2012

Попробуйте установить M2_HOME переменную среды , как описано в FAQ .Если это не помогает, проверьте idea.log на наличие исключений (Help | Reveal Log in Finder). стоит оставить сообщение об ошибке , если в журнале есть какие-либо исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...