2012-01-05 78 views
0

在我的java代碼中,我想編譯一個maven項目(mvn clean install)。我怎麼能不做Runtime.getRuntime().exec()編譯來自Java的maven項目

+0

哪個版本的maven? 2.2.x或3.0.x? – bmargulies 2012-01-05 13:41:22

回答

3

讓我們來看看...

$ 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} "[email protected]" 

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

所以我相信你需要運行org.codehaus.plexus.classworlds.launcher.Launcher.main(new String[] {"clean", "install"})。因人而異。

+0

好吧,我必須找到如何啓動這個! – midix 2012-01-05 13:53:03

+0

爲你的classpath添加庫,並運行'org.codehaus.plexus.classworlds.launcher.Launcher.main(new String [] {「clean」,「install」})''。 – alf 2012-01-05 13:53:46

+0

我在尋找Maven依賴:) – midix 2012-01-05 14:00:30

相關問題