在cygwin中调用JAVA程序
只要安装了JDK或者JRE,就可以在cygwin中直接使用JAVA命令。但最大的问题,是在于windows下的JAVA需要Windows格式的路径,而cygwin默认提供给JAVA的路径,JAVA是无法识别的。
例如有一个JAVA程序encrypt.jar,正确的方式应该这样调用:
1java -Dsource=源文件路径 -Dtarget=目标文件路径 -jar encrypt.jar
但如果直接在cygwin下这样调用,就会报错:
1java -Dsource=~/source.txt -Dtarget=~/target.txt -jar encrypt.jar
2#Exception in thread "main" java.io.FileNotFoundException: \home\zrong\source.txt (系统找不到指定的路径。)
所以,我们需要借助cygpath命令,将cygwin格式的路径转换成Windows格式。
1$ cygpath -w ~/source.txt
2#D:\cygwin\home\zrong\source.txt
这样调用就没问题了
1java -Dsource=`cygpath -w ~/source.txt` -Dtarget=`cygpath -w ~/target.txt` -jar encrypt.jar
cygpath的参数不少,可以使用 cygpath --help
查看
- 文章ID:1610
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/invoke_java_in_cygwin/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。