У меня тоже была эта проблема, поэтому я написал оболочку, включающую что-то вроде
# java runs as native windows program, so convert pathnames
WINDOWS_ARGS=""
for ARG in $*
do
if [ -e $ARG ]
# pathname argument is only converted if the file exists,
# so this trick may not be appropriate everywhere...
then
WINDOWS_ARGS="$WINDOWS_ARGS `cygpath -w $ARG`"
else
WINDOWS_ARGS="$WINDOWS_ARGS $ARG"
fi
done
java -jar `cygpath -w myprogram.jar` $WINDOWS_ARGS
потому что я все равно вызываю вещи из оболочки cygwin. если вам нужно запустить скрипт из окна $ environment, см. http://cygwin.com/ml/cygwin/2004-07/msg00163.html
cygpath
- это предлагаемый способ преобразования строк пути ... Я пришел на эту страницу, потому что хочу открыть объект File
с жестко закодированным путем, который может быть символической ссылкой cygwin. все еще не уверены в этом ... запуск подпроцесса кажется экстремальным и требует, чтобы либо cygpath
находился на вашем пути к windows, либо каталог cygwin находился в одном и том же месте на каждом компьютере.