Come posso eseguire un'app sbt dalla shell, in modo che possa eseguire la mia app come un normale programma da riga di comando (come se fosse eseguito direttamente tramite scala
ma senza dover impostare un percorso di classe enorme)?Come si esegue una classe principale sbt dalla shell come normale programma da riga di comando?
so che posso fare:
echo hello | sbt 'run-main com.foo.MyMain3 arg1 arg2' > out.txt
Ma questo (1) batte sempre per iniziare perché inizia SBT, (2) fa sì che tutti stdout e stderr di andare a stdout, e (3) fa sì che tutti output da decorare con un logger [informazioni] o [errore].
Ho guardato a https://github.com/harrah/xsbt/wiki/Launcher ma sembra troppo pesante, poiché scarica dipendenze e imposta un nuovo ambiente e quant'altro. Voglio solo eseguire questa app all'interno del mio ambiente di sviluppo esistente.
Finora ho messo insieme il mio script per creare un classpath, e puoi anche fare altre cose come modify your project file to get sbt to print the raw classpath, ma sento che ci deve essere un modo migliore.
come 'mvn exec: java' o' appassembler mvn:? Assemble' – sourcedelica