2014-02-19 45 views
2

我以前用sbt的這個插件:sbt-start-script(https://github.com/sbt/sbt-start-script)。有沒有相當於maven的工具?我想要一些可以在命令行上運行的東西,它們將使用正確的類路徑來執行我的java程序。 SBT-啓動腳本中生成一個shell腳本對我來說,我執行這樣的命令行中執行此操作:是否有相當於maven的sbt-start-script?

./target/start 

內部的shell腳本,它基本上有

java -cp xxxx example.Main 

其中一個電話xxx是我機器上的完整類路徑。

我知道我可以使用Maven直接與

mvn -Dexec.mainClass="example.Main" 

執行我的java程序但同一JVM行家內執行。我有興趣用自己的jvm開始我的程序。

我不想將我的整個項目及其所有依賴包打包到一個可執行jar文件中,我寧願使用maven知道的類路徑。

回答

1

好了,所以我想我可以手工編寫這個腳本,做正確的事:

#!/bin/bash 

# directory of this script 
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 

mvn -o -f $DIR/pom.xml -q dependency:build-classpath -Dmdep.outputFile="$DIR/target/classpath.txt" 

java -cp $DIR/target/classes:`cat $DIR/target/classpath.txt` example.Main [email protected] 
exitcode=$? 
exit $exitcode 

這似乎是工作,但我不得不用手工寫。每次構建時,sbt-start-script都會像這樣生成一個腳本。如果任何人有更好的解決方案,我仍然感興趣。

+0

刪除我的答案以刪除重複,因爲您以相同的方式實施並添加了詳細信息+1 –

相關問題