从Java编译maven项目

从Java编译maven项目,java,maven,compilation,Java,Maven,Compilation,在我的java代码中,我想编译一个maven项目(mvn clean install)。如果不做Runtime.getRuntime().exec(),我怎么做呢?让我们看看 $ which mvn /usr/bin/mvn $ cat `which mvn` ... lots of code ending with... exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "${M2_HOME}"/boot/plexus-classworlds-*.

在我的java代码中,我想编译一个maven项目(
mvn clean install
)。如果不做
Runtime.getRuntime().exec()
,我怎么做呢?

让我们看看

$ 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} "$@"
所以我认为您需要运行
org.codehaus.plexus.classworlds.launcher.launcher.main(新字符串[]{“clean”,“install”})
。YMMV.

让我们看看

$ 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} "$@"

所以我认为您需要运行
org.codehaus.plexus.classworlds.launcher.launcher.main(新字符串[]{“clean”,“install”})
。YMMV.

哪种版本的maven?2.2.x或3.0.x?哪个版本的maven?2.2.x或3.0.x?好的,我必须找到如何启动它!向类路径中添加库,只需运行行
org.codehaus.plexus.classworlds.launcher.launcher.main(新字符串[]{“clean”,“install”})
。我正在搜索maven依赖项:)上面为您指定了:
-classpath“${M2_HOME}”/boot/plexus classworlds-*.jar
我有:org.codehaus.plexus-plexus classworlds 2.4,但是现在可以指定要编译的项目路径了吗?好的,我必须找到如何启动它!向类路径中添加库,只需运行行
org.codehaus.plexus.classworlds.launcher.launcher.main(新字符串[]{“clean”,“install”})
。我正在搜索maven依赖项:)上面为您指定了:
-classpath“${M2_HOME}”/boot/plexus classworlds-*.jar
我有:org.codehaus.plexus-plexus classworlds 2.4但是现在可以指定要编译的项目的路径了吗?