如何在OS X上运行IntelliJ和Maven?

时间:2011-02-08 12:40:25

标签: macos maven intellij-idea

我已经让Maven对IntelliJ作出回应(所有env vars都已设置好);但仍然 - 发生以下错误:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Dclassworlds.conf=/usr/local/Cellar/maven/3.0.2/bin/m2.conf -Dmaven.home=/usr/local/Cellar/maven/3.0.2 -Dfile.encoding=MacRoman -classpath org.codehaus.classworlds.Launcher --no-plugin-registry --fail-fast --no-plugin-updates --strict-checksums --update-snapshots -f /Users/konzepz/Sites/wix/html/Express/pom.xml compile Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher Caused by: java.lang.ClassNotFoundException: org.codehaus.classworlds.Launcher at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

Process finished with exit code 1

有什么想法吗?

谢谢!

4 个答案:

答案 0 :(得分:8)

我只能通过设置IntelliJ IDEA来实现它 - >偏好 - > Maven - > Maven主目录“/usr/local/Cellar/maven2/2.2.1/libexec”

答案 1 :(得分:2)

我按照http://youtrack.jetbrains.net/issue/IDEA-21225中弗拉基米尔·克里沃舍耶夫的指示(下文转述)...希望有所帮助


  • 在您的主文件夹中创建一个新的.MacOSX文件夹(如果它尚不存在)
  • 在.MacOSX文件夹中创建一个新的environment.plist(包含以下内容...... 更改路径以匹配您安装的文件夹

    {
    "M2_HOME"="/usr/local/maven/apache-maven-3.0.0";
    M2 = "/usr/local/maven/apache-maven-3.0.0/bin";
    

    }

退出您的帐户,然后重新登录

编辑 - 20140827

仅供参考 - 自回答此问题以来,小牛队似乎不再支持environment.plist方法,请点击此处查看详细信息...... https://apple.stackexchange.com/a/125066/40942

我使用此处发布的解决方案在小牛队取得了成功 https://superuser.com/a/390926/70256

...涉及打开intellij偏好 - >路径变量并在M2_HOME变量中添加正确的环境值。

答案 2 :(得分:0)

您可以将maven.home替换为MAVEN_HOME并查看错误是否仍然存在?

答案 3 :(得分:0)

如果您不想使用M2_HOME并希望将IntelliJ定向到maven安装,您可以通过以下方式进行设置:

  • 转到文件=>设置=> Maven => Maven主目录
  • 指向您的maven构建目录,例如/usr/local/maven/apache-maven-3.0.4

更好的方法是使用符号链接,例如最新版本的“最新版本”并指出IntelliJ使用它来保持一致性,给出最新版本的maven安装在盒子上的最新版本。