争怎路由网/系统工具/内容

Linux下java环境变量设置,处理重新打开bash后JDK环境变量无效

系统工具2024-06-11 阅读
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。
Linux下配置JDK实际上是很简单的,我按照网上的教程进行如下配置,在 /etc/profile 文件中最后添加:
export JAVA_HOME=/home/son/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
 
通过命令启用java环境:
source /etc/profile
 
但是有一个问题比较恶心,那就是JDK环境变量失效的问题,关闭设置好的bash后重新打开,java环境变量就无效了
root@ubuntu:/home/son/apache-tomcat-8.5.20/bin# ./shutdown.sh 
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
root@ubuntu:/home/son/apache-tomcat-8.5.20/bin# java -version
bash: java: command not found
 
经大神指点, /etc/profile 文件修改一下,删除 export 就行。
JAVA_HOME=/home/son/jdk1.8.0_144
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
 
需要再启用一下
source /etc/profile
 
再运行一下java
root@ubuntu:/etc# java
Usage: java [-options] class [args...]
(to execute a class)
or  java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32  use a 32-bit data model if available
-d64  use a 64-bit data model if available
-server  to select the"server" VM
The default VM is server, because you are running on a server-class machine.
-cp
-classpath
A : separated list of directories, JAR archives, and ZIP archives to search for class files.
-D=
set a system property
-verbose:[class(专业提供视频软件下载)

gc(专业提供视频软件下载)

jni]
enable verbose output
-version      print product version and exit
-version:
Warning: this feature is deprecated and will be removed in a future release. require the specified version to run
-showversion  print product version and continue
-jre-restrict-search (专业提供视频软件下载)

-no-jre-restrict-search
Warning: this feature is deprecated and will be removed in a future release. include/exclude user private JREs in the version search
-? -help      print this help message
-X            print help on non-standard options
-ea[:...(专业提供视频软件下载)

:]
-enableassertions[:...(专业提供视频软件下载)

:]
enable assertions with specified granularity
-da[:...(专业提供视频软件下载)

:]
-disableassertions[:...(专业提供视频软件下载)

:]
disable assertions with specified granularity
-esa (专业提供视频软件下载)

-enablesystemassertions
enable system assertions
-dsa (专业提供视频软件下载)

-disablesystemassertions
disable system assertions
-agentlib:[=]
load native agent library , e.g. -agentlib:hprof see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:[=]
load native agent library by full pathname
-javaagent:[=]
load Java programming language agent, see java.lang.instrument
-splash:
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
 
OK!

Linux是一套免费使用和自由传播的类Unix操作系统



……

相关阅读