Программы оболочки UNIX имеют удобное свойство, что первым аргументом является имя вызываемой программы. Так что я могу написать что-то вроде:Как определить имя вызываемого JAR в Scala?
#!/bin/sh
echo "You ran $0."
И когда я запускаю его, я получаю:
$ sh foo.sh
You ran foo.sh.
Это особенно полезно, когда вы хотите, чтобы поймать плохой вызов и дать строку использования, как:
Usage: foo.sh -a [AAAAA] -b [BBBBB] -c [CCCCC]
Как я могу сделать это для файла JAR вызывается как java -jar MyJAR.jar
? Для Scala main
, args(0)
- это только первый аргумент, переданный пользователем, а не имя вызываемой программы. Я хочу иметь возможность распечатать:
Usage: MyJAR.jar -a [AAAAA] -b [BBBBB] -c [CCCCC]
Любые идеи?
Возможный дубликат: http://stackoverflow.com/questions/2541627/how-do-i-get-the-commandline-that-started-the-process –
Это только дает мне аргументы для исполняемого файла java, а не JAR. –