1

I am using intellij IDEA for development, and I notice the maven plugin has problems downloading dependencies when IDEA runs on JAVA 7 (I am working on Windows 7). Running it on JAVA 6 however does not have the issue.

Here is an extract of idea.log

2014-01-03 14:48:07,861 [ 366414]   WARN - ution.rmi.RemoteProcessSupport - at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148) 
2014-01-03 14:48:07,861 [ 366414]   WARN - ution.rmi.RemoteProcessSupport - at com.sun.proxy.$Proxy20.isCanceled(Unknown Source) 
2014-01-03 14:48:07,861 [ 366414]   WARN - ution.rmi.RemoteProcessSupport - at org.jetbrains.idea.maven.server.MavenServerProgressIndicatorWrapper.isCanceled(MavenServerProgressIndicatorWrapper.java:58) 
2014-01-03 14:48:07,861 [ 366414]   WARN - ution.rmi.RemoteProcessSupport - at org.jetbrains.idea.maven.server.TransferListenerAdapter.transferFailed(TransferListenerAdapter.java:127) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - ... 5 more 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - Caused by: java.net.SocketException: Invalid argument: connect 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
2014-01-03 14:48:07,862 [ 366415]   WARN - ution.rmi.RemoteProcessSupport - at java.net.Socket.connect(Socket.java:579) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - at java.net.Socket.connect(Socket.java:528) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - at java.net.Socket.<init>(Socket.java:425) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - at java.net.Socket.<init>(Socket.java:208) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) 
2014-01-03 14:48:07,863 [ 366416]   WARN - ution.rmi.RemoteProcessSupport - ... 13 more 

Note the line

Caused by: java.net.SocketException: Invalid argument: connect 

I looked for solutions to the problem, and found this link

I followed the suggestion and did the following

  1. making sure there is 127.0.0.1 localhost in my /etc/hosts file

  2. adding -Djava.net.preferIPv4Stack=true to my idea64.exe.vmoptions so the file looks like this

-Xms128m
-Xmx2048m
-XX:MaxPermSize=350m
-XX:ReservedCodeCacheSize=96m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50

The parameter is confirmed in idea.log

2014-01-03 14:42:01,495 [     48]   INFO -        #com.intellij.idea.Main - IDE: IntelliJ IDEA (build #IC-133.193, 02 Dec 2013 00:00) 
2014-01-03 14:42:01,496 [     49]   INFO -        #com.intellij.idea.Main - OS: Windows 7 (6.1, amd64) 
2014-01-03 14:42:01,496 [     49]   INFO -        #com.intellij.idea.Main - JRE: 1.7.0_45-b18 (Oracle Corporation) 
2014-01-03 14:42:01,496 [     49]   INFO -        #com.intellij.idea.Main - JVM: 24.45-b08 (Java HotSpot(TM) 64-Bit Server VM) 
2014-01-03 14:42:01,497 [     50]   INFO -        #com.intellij.idea.Main - JVM Args: -Xms128m -Xmx2048m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+UseCodeCacheFlushing -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -Xbootclasspath/a:D:\Programs\IntelliJ IDEA Community Edition 13.0\lib\boot.jar -Didea.paths.selector=IdeaIC13 

    2014-01-03 14:42:13,590 [  12143]   INFO - ution.rmi.RemoteProcessSupport - "C:\Program Files (x86)\Java\jdk1.7.0_45\jre\bin\java" -Djava.awt.headless=true -Xmx512m -Dfile.encoding=windows-1252 -classpath

But still the problem happens.

This must be an issue with Java 7 which prefers IPv6 over IPv4. Does anyone know how to solve this?

Thanks for any help.

Community
  • 1
  • 1
stackoverflower
  • 3,885
  • 10
  • 47
  • 71

1 Answers1

0

I have figured out that the solution is indeed -Djava.net.preferIPv4Stack=true, but it should be set for the maven importer in IDEA, as it runs in another JVM.

enter image description here

stackoverflower
  • 3,885
  • 10
  • 47
  • 71