2009-12-16 115 views
2

我在調試中運行jetty並將IntelliJ IDEA連接到偵聽端口時遇到問題。maven,jetty和IDEA的調試問題

mvnDebug jetty:run-exploded

將開始碼頭,因爲我可以看到下面的消息

Preparing to Execute Maven in Debug Mode Listening for transport dt_socket at address: 8000

然而,當我嘗試到IDEA連接到端口8000我會在IDE消息說連接,並緊接着斷開。當碼頭會踢以下錯誤

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:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) Could not find the main class: org.codehaus.classworlds.Launcher. Program will exit.

我一點這個困惑,因爲在碼頭下運行項目,

mvn jetty:run-exploded

也是我的同事沒有問題的情況下有IDEA調試沒問題,他和我的設置之間的唯一區別是我有64位機器,他在32位

回答

1

我發現了調試的臨時解決方案。

執行前我只是用一些額外的參數重新導出MAVEN_OPTS,所以這隻會在當前打開的終端窗口上工作。

我的系統是MAVEN_OPTS export MAVEN_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m -XX:-UseGCOverheadLimit"

和會話改爲 export MAVEN_OPTS="-Xms256m -Xmx1500m -XX:PermSize=128m -XX:-UseGCOverheadLimit -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

我將要討論「mvnDebug」的別名設置了,當他回來,明天我的同事...

+1

這似乎是mvnDebug中的一個常見錯誤 – Yaba 2011-02-23 12:38:49