在linux服务器上用jar命令解压jar包时,提示找不到jar命令。
但是用java -version查看jdk版本,又可以显示出jdk版本。
echo $JAVA_HOME查看环境变量路径,找不到。
查找jdk安装目录:
(网上搜到的方法:https://www.linuxidc.com/Linux/2015-08/122353.htm)
which java
首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们来看看例子吧,如下所示:
[root@localhost ~]# java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
[root@localhost ~]# which java
/usr/bin/java
[root@localhost ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Aug 17 15:12 /usr/bin/java -> /etc/alternatives/java
[root@localhost ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Aug 17 15:12 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
[root@localhost ~]#
[root@localhost ~]# cd /usr/lib/jvm
[root@localhost jvm]# ls
java-1.6.0-openjdk-1.6.0.0.x86_64 java-1.7.0-openjdk-1.7.0.65.x86_64 jre jre-1.6.0 jre-1.6.0-openjdk.x86_64 jre-1.7.0 jre-1.7.0-openjdk.x86_64 jre-openjdk
查看这些文件夹下面的内容,发现服务器只是安装了jre,并没有安装jdk,而jar命令是jdk中的,不是jre中的。
解决办法只能安装下jdk了。
如果安装了jdk,有jar命令,只是没加到环境变量中,可以通过以下方式进行添加。
在/usr/bin目录下创建jar的软连接。
[luopu@TESTWEB1_13 ~]$cd /usr/bin
[root@TESTWEB1_13 ~]#ln -s /opt/freeware/old/jdk1.7.0_79/bin/jar jar
添加后,运行jar,看是否成功。