tags:

views:

144

answers:

3

Hi,

I want to run jetty:run in debug mode with MAVEN_OPTS setted in environment variable. But it seams like hardcode MAVEN_OPTS. Is is possible to set MAVEN_OPTS in command line like mvn MAVEN_OPTS=...

Thank you.

+1  A: 

Is is possible to set MAVEN_OPTS in command line like mvn MAVEN_OPTS=...

No, MAVEN_OPTS is an environment variable, you can't set it on the command line. But you there is an alternative. Instead of mvn, you can simply run mvnDebug (a little variation of the former script that set debug options):

$ mvnDebug jetty:run
Preparing to Execute Maven in Debug Mode
Listening for transport dt_socket at address: 8000

I find this alternative pretty handy, and easier.

Pascal Thivent
+1  A: 

I encountered this problem, and my solution was to create a .bat file to set the maven opts, and then start 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

My IDE of choice is Eclipse, so I use the run button with the tool box to call the .bat files. Here is a question on running a .bat file.

Andy Pryor
+1  A: 

Under Windows - I don't know. Under Linux/Bash - yes you can:

export MAVEN_OPTS="-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000" mvn jetty:run
Henryk Konsek
I don't see any advantage over using `mvnDebug` if you use the same options.
Pascal Thivent
The question explicitly refers setting environment variable and running Maven with one command. I'm not telling it's better than mvnDebug :) .
Henryk Konsek