midix
midix

Reputation: 121

Compile maven project from Java

In my java code, I want to compile a maven project (mvn clean install). How can I do it without making a Runtime.getRuntime().exec()?

Upvotes: 0

Views: 400

Answers (1)

alf
alf

Reputation: 8513

Let's see...

$ which mvn
/usr/bin/mvn

$ cat `which mvn`
... lots of code ending with...
exec "$JAVACMD" \
  $MAVEN_OPTS \
  -classpath "${M2_HOME}"/boot/plexus-classworlds-*.jar \
  "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
  "-Dmaven.home=${M2_HOME}"  \
  ${CLASSWORLDS_LAUNCHER} "$@"

$ cat `which mvn` | grep CLASSWORLDS
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
  ${CLASSWORLDS_LAUNCHER} "$@"

So I believe you need to run org.codehaus.plexus.classworlds.launcher.Launcher.main(new String[] {"clean", "install"}). YMMV.

Upvotes: 3

Related Questions