系统:ubuntu16.04
说明:执行ant打包成xssValidator.jar,使用的系统默认java环境。
解决:安装JDK:sudo apt install default-jdk
结果图:
ubuntu16.04下JRE好像是默认安装的,这个时候执行java -version命令是没有错误的。
但是执行javac -version 显示:
这是由于,java的可执行程序来自JRE,而javac的可执行程序来自JDK。
JRE:运行Java程序的用户使用的软件,也就是说他是Java运行时环境,包含虚拟机但不包含编译器。如果安装了JRE,可以执行.class文件,但是不能进行编译Java文件,这不是开发者所想要的环境,而是专门为不需要编译器的用户而设计
JDK:编写Java程序的程序员使用的软件。只用安装了JDK才能执行javac命令进行编译.java文件。
也就是说,看起来可以执行java命令,也只是有运行Java的环境而已,真正需要安装的JDK还没有安装
ubuntu16.04下javac 找不到命令原文链接
我的思路:开始根据 “ ant遇到unable to locate tools.jar Expected to find it in XXX ” 在网上找了很久,说是因为环境问题JAVA_HOME没有配置好,于是根据教程一顿操作,然并然。还是相同的问题,这里有一篇说profile是什么的。
继续尝试了”软连接问题“,差点卸了java环境,重装。就在犹豫之际想起之前测试java环境,java -version执行没问题,javac却没反应,也许问题出在这儿,总算解决了。
PS:
xssValidator教程传送门
打包使用jar下载传送门【关于该问题,作者github更新说明有,但是没有对.sh、README进行更新】