使用maven,jetty和IDEA调试问题

时间:2009-12-16 09:52:59

标签: debugging maven-2 intellij-idea jetty

我在调试中运行jetty并将IntelliJ IDEA附加到侦听端口时遇到问题。

mvnDebug jetty:run-exploded

将启动码头,因为我可以看到以下消息

  

准备在调试中执行Maven   模式侦听传输dt_socket   地址:8000

但是,当我尝试将IDEA连接到端口8000时,我会在IDE中收到连接的消息,然后立即断开连接。码头会出现以下错误

  

线程“main”中的异常   java.lang.NoClassDefFoundError:   组织/ Codehaus的/ classworlds /启动   引起:   抛出java.lang.ClassNotFoundException:   org.codehaus.classworlds.Launcher at   java.net.URLClassLoader的$ 1.run(URLClassLoader.java:200)     在   java.security.AccessController.doPrivileged(母语   方法)at   java.net.URLClassLoader.findClass(URLClassLoader.java:188)     在   java.lang.ClassLoader.loadClass(ClassLoader.java:307)     在   sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:301)     在   java.lang.ClassLoader.loadClass(ClassLoader.java:252)     在   java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)   无法找到主类:   org.codehaus.classworlds.Launcher。   程序将退出。

我对此感到困惑,因为使用

在jetty下运行项目没有问题

mvn jetty:run-exploded

我的同事也没有在IDEA下进行调试的问题,只是他和我的设置之间的区别在于我有64位机器而且他在32位

1 个答案:

答案 0 :(得分: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”别名设置......