今天在我的Windows上调试一些程序,其中一些命令在Windows的终端里十分难受,最后采用安装Windows的Linux子系统来使用这些命令,并且安装了Cmder作为terminal。现在的Cmder也同样支持配置为guake一样的行为,只是高度和宽度有些问题,只好全屏控制;但是终于可以在Windows上用 快捷键呼出Linux命令行了。然后愉快的跑到项目目录里,执行mvn命令,结果出人意料失败了:找不到Java,也没设置有效的Java_Home。

嗯?不对啊,我的Java就安装在C盘默认目录啊,怎么找不到。哦,对了,这是Linux嘛,环境Path变量跟Windows的不一样了,得重新配置。于是找到JDK安装目录,设置JAVA_HOME指向,一气呵成。这回总该对了吧,原来用CygWin都可以的。结果一执行mvn命令,居然又失败了。

难道变量设置失败了?echo一下,没问题啊。百思不得其解的时候执行了一下java,嗯?找不到? 啊,原来Windows的Java安装目录里都是java.exe这样带有exe后缀的,在Linux子系统里并不是java命令。虽然可以使用java.exe执行,但是mvn里指向的却是没有exe后缀的java。对于Linux子系统来说,java命令和java.exe是两个命令,也就无怪乎认为Java没有安装了。

于是用apt-get在Linux子系统里安装openjdk,再设置目录,再次执行mvn命令,终于成功了。