在OSX系统下,使用Tomcat7和IDEA IntelliJ 12。
运行配置能够正常工作。 调试配置会出现以下错误:
我发现了这篇来自2011年的帖子,但它并没有帮到我。
关于“一旦我从系统变量中删除它(在IDEA中是只读的),问题就解决了”的注释很有道理。所以我尝试将这整个代码块从catalina.sh中删除。
运行配置能够正常工作。 调试配置会出现以下错误:
/usr/local/Cellar/tomcat/7.0.37/libexec/bin/catalina.sh run
Error occurred during initialization of VM
agent library failed to init: jdwp
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Disconnected from server
我发现了这篇来自2011年的帖子,但它并没有帮到我。
关于“一旦我从系统变量中删除它(在IDEA中是只读的),问题就解决了”的注释很有道理。所以我尝试将这整个代码块从catalina.sh中删除。
if [ -z "$JPDA_OPTS" ]; then
JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
fi
没有帮助。非常感谢任何帮助。谢谢!
Java运行命令:
+ eval exec '"/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java"' '"-Djava.util.logging.config.file=/Users/ryan/Library/Caches/IntelliJIdea12/tomcat/Unnamed_secure_post_3/conf/logging.properties"' -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:65523,suspend=y,server=n -Dcom.sun.management.jmxremote= -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=127.0.0.1 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager '-Djava.endorsed.dirs="/usr/local/Cellar/tomcat/7.0.37/libexec/endorsed"' -classpath '"/usr/local/Cellar/tomcat/7.0.37/libexec/bin/bootstrap.jar:/usr/local/Cellar/tomcat/7.0.37/libexec/bin/tomcat-juli.jar"' '-Dcatalina.base="/Users/ryan/Library/Caches/IntelliJIdea12/tomcat/Unnamed_secure_post_3"' '-Dcatalina.home="/usr/local/Cellar/tomcat/7.0.37/libexec"' '-Djava.io.tmpdir="/usr/local/Cellar/tomcat/7.0.37/libexec/temp"' org.apache.catalina.startup.Bootstrap start
catalina.sh
,这些选项只有在使用jpda start
命令行参数运行时才会添加,而在控制台中明显显示使用了run
。使用run
选项,Tomcat 将使用通过JAVA_OPTS
从 IDEA 传递的 JVM 选项,并且不会添加JPDA_OPTS
。这在 Windows、Linux 和 Mac 上都可以完美地工作。 - CrazyCoder