centos - 在 centOs 上使用一种可移植的 JDK

标签 centos java-8 environment-variables

这是我人生中第一次使用linux,我有点挣扎。
权限、用户、文件夹结构,需要考虑很多。

我所做的一切,都是对普通非 sudoer 用户的 ATH 用户进行的。

我得到了最小的 Centos 并将它放在一个虚拟机中

然后我在/home/ath/monitoring/jdk1.8.0_70_linux64 中提取了 linux tar.gz jdk

我将它添加到一个 sh 脚本中,这个 sh 脚本调用其他 sh 脚本
我希望他们只使用这个 jdk

下面 #!/bin/sh 我添加了

导出 JAVA_HOME=/home/ath/monitoring/jdk1.8.0_70_linux64

但是,当我启动脚本时,我得到:

其中:(/usr/local/bin:/usr/bin:usr/local/sbin:/usr/sbin:/home/ath.local/bin:/home/ath/bin)中没有java
找不到任何可执行的 java 二进制文件。请在您的 PATH 中安装 java 或设置 JAVA_HOME

我究竟做错了什么?
谢谢

ps:我使用(以root身份登录) chmod +x/home/ath/monitoring/elasticsearch/bin/elasticsearch/bin/elasticsearch.sh
在 sh 脚本上,否则它不会运行

最佳答案

所以我还必须添加这一行,因为脚本正在查看 PATH :

export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH

我不得不渲染 jdk/bin 可执行文件中的所有文件,在里面运行它
chmod a+x *

我不明白,每次我得到一个软件时,我都必须手动去chmod每个需要它的文件?很麻烦。

关于centos - 在 centOs 上使用一种可移植的 JDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35863752/

相关文章:

java - 重新设计方法以使用 Java 8 Map.computeIfAbsent() 并抛出异常

java - 使用 Java 8 流 API 和 lambda 操作 map

windows - 这些奇怪的环境变量是什么?

java - jmeter 服务脚本。重启不工作

python - 在 LAMP (CentOS) 服务器上运行 .py 文件 - 从 PHP 开发人员的角度来看

python - CentOS 6.2 上的 cx_Oracle 安装问题

git : mergetool meld on windows using putty - errors

java - 获取流中符合条件的第一个元素

android - $ANDROID_HOME 的 Meteor 添加平台错误

android - 无法获取资源 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom'