Linux下java和javac版本不同(设置用户默认的java版本)解决方法

我的Ubuntu下安装了OpenJDK和Oracle的JDK,然后我在用户自己的配置文件(~./profile)中设置JAVA_HOME(24到28行),



然后,我在命令行中执行java -version和javac -version发现其版本号不一样。我用which命令判断其java和javc的命令,发现javac其实是/usr/bin/javac下的,再用file查看其属性,发现是/etc/alternatives/javac的一个符号链接。于是,我想起了网上很多使用sudo update-alternatives命令设置默认JDK的方法,其实,该方法的实质就是将你自己安装的JDK中java,javac等命令复制到/etc/alternatives下,这样你执行这些java命令的时候,系统会先在/usr/bin下面去找,/usr/bin下面的java是一个到/etc/alternatives/java的链接,而/etc/alternatives/java是你安装的JDK中的java,所以这样实质上执行的就是你安装的JDK。

弄清楚了原理,解决方案也很简单。直接把/usr/bin下的这些JDK相关的符号链接全部删除(我这里没有删除,而是将其重命名为*.bak)。这样你在命令行输入java的时候,系统在/usr/bin下面找不到,就通过你的用户配置文件,找到你JAVA_HOME里面配置的JDK路径,执行里面的java。


重命名这些符号链接以后,重启电脑(是不是一样了)。



我这里是因为不同的用户需要使用不同的JDK,如果希望所有用户都使用相同的版本的,可以使用sudo update-alternatives这样的命令去设置。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux环境下搭建多版本Java开发环境可以按照以下步骤进行: 1. 下载不同版本Java Development Kit (JDK),并解压到不同的目录中。可以选择从Oracle官网下载或从OpenJDK项目下载。 2. 设置环境变量,将不同版本的JDK添加到PATH中,以便在终端中能够使用不同版本Java。可以在.bashrc或.profile等文件中添加类似如下的语句: ``` export JAVA_HOME=/path/to/jdk export PATH=$JAVA_HOME/bin:$PATH ``` 3. 在需要使用特定版本Java的项目中,使用工具(如Maven)设置Java编译器和运行时版本。例如,在Maven项目的pom.xml文件中,可以添加以下语句以使用特定版本Java: ``` <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> ``` 以上是基本的步骤,具体实现可以根据具体的需求进行调整。 ### 回答2: 在Linux环境下搭建多版本Java开发环境,可以按照以下步骤进行: 1. 首先,在系统上安装Java开发工具包(JDK)的不同版本。你可以从Oracle官方网站或OpenJDK项目下载所需版本的JDK安装包。 2. 下载完JDK安装包后,解压缩到你想要安装的目录。可以为每个版本创建一个单独的目录,例如/opt/java/jdk1.8和/opt/java/jdk11。 3. 配置环境变量。在.bashrc或.profile文件中,添加以下行来设置JAVA_HOME和PATH参数: export JAVA_HOME=/opt/java/jdk1.8 # 将路径改为你安装JDK的实际路径 export PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME=/opt/java/jdk11 # 将路径改为你安装JDK的实际路径 export PATH=$JAVA_HOME/bin:$PATH 保存并退出文件,然后执行以下命令使环境变量立即生效: source .bashrc 4. 测试安装。打开终端窗口,运行以下命令来验证Java是否正确安装并设置默认版本java -version 如果返回所配置的版本号,说明安装成功。 5. 如果你在系统上安装了多个JDK版本,并且想在不同的项目中使用不同版本,可以使用工具如"update-alternatives"或"update-java-alternatives"进行设置。这些工具可以让你选择使用哪个Java版本。 总之,为了在Linux环境下搭建多版本Java开发环境,你需要安装并配置每个所需的JDK版本,并设置正确的环境变量。 ### 回答3: 在Linux环境下搭建多版本Java开发环境,需要进行以下步骤: 1. 下载所需的Java版本:在Oracle Java官网或OpenJDK官网上下载所需的Java版本,可能需要多个版本Java JDK。 2. 安装Java Development Kit(JDK):解压下载的Java JDK文件,然后将其移动到一个合适的目录中,例如/usr/lib/jvm/。 3. 配置JAVA_HOME环境变量:打开终端,使用编辑器打开.bashrc文件,例如使用nano编辑器打开,命令为"nano ~/.bashrc"。在文件的末尾添加以下内容: ``` export JAVA_HOME=/usr/lib/jvm/<jdk_directory> export PATH=$PATH:$JAVA_HOME/bin ``` 这里<jdk_directory>是Java JDK所在的目录名。 4. 刷新.bashrc文件:在终端中执行以下命令,使配置的环境变量生效: ``` source ~/.bashrc ``` 5. 配置默认Java版本:如果需要设置特定的Java版本默认版本,可以执行以下命令来配置: ``` sudo update-alternatives --config java sudo update-alternatives --config javac ``` 然后选择所需的Java版本。 6. 验证Java版本:在终端中输入以下命令,验证Java的安装和配置是否成功: ``` java -version javac -version ``` 这些命令将显示JavaJava编译器的版本信息。 通过以上步骤,我们可以在Linux环境下成功搭建多版本Java开发环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值