【发布时间】:2011-04-18 14:57:41
【问题描述】:
r我想在环境变量中设置 MAVEN_OPTS 以调试模式运行 jetty:run。但它看起来像硬编码 MAVEN_OPTS。是否可以在命令行中设置 MAVEN_OPTS,如mvn MAVEN_OPTS=...
谢谢。
【问题讨论】:
r我想在环境变量中设置 MAVEN_OPTS 以调试模式运行 jetty:run。但它看起来像硬编码 MAVEN_OPTS。是否可以在命令行中设置 MAVEN_OPTS,如mvn MAVEN_OPTS=...
谢谢。
【问题讨论】:
是否可以在命令行中设置 MAVEN_OPTS,例如 mvn MAVEN_OPTS=...
不,MAVEN_OPTS 是一个环境变量,你不能在命令行上设置它。但是你有一个选择。除了mvn,您可以简单地运行mvnDebug(设置调试选项的前一个脚本的一点变化):
我发现这个替代方案非常方便,也更容易。
【讨论】:
在 Windows 下 - 我不知道。在 Linux/Bash 下 - 是的,您可以:
export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
mvn jetty:run
【讨论】:
mvnDebug 相比没有任何优势。
Cannot load this JVM TI agent twice。
在 Windows 下,您应该能够从命令提示符执行以下操作:
set MAVEN_OPTS=<options you want to add> %MAVEN_OPTS%
mvn jetty:run
在 Mac/Linux/Unix 下,您可以使用从终端导出:
export MAVEN_OPTS=<options you want to add> $MAVEN_OPTS
mvn jetty:run
不确定如何在 Windows 中进行一次性导出,但在类似 Unix 的操作系统上,您只需将变量添加到您的命令(这适用于您要添加的任何环境变量)。
MAVEN_OPTS="option1 option2" mvn jetty:run
【讨论】:
我遇到了这个问题,我的解决方法是创建一个.bat文件来设置maven opts,然后启动jetty。
call set MAVEN_OPTS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8484,server=y,suspend=n %MAVEN_OPTS%
call mvn jetty:run-war -DskipTests=true
我选择的 IDE 是 Eclipse,所以我使用带有工具箱的运行按钮来调用 .bat 文件。这是question on running a .bat file.
【讨论】: