首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何重新加载java模块?

如何重新加载java模块?
EN

Unix & Linux用户
提问于 2019-02-23 04:56:40
回答 1查看 4.2K关注 0票数 3

我们正在构建一个java源代码。当我们用Ubuntu的正式回购构建它时,它实际上安装了10.0.2。看见

代码语言:javascript
运行
复制
-------- which javac ---------------
/usr/lib/jvm/java-11-openjdk-amd64/bin/javac


-------- java -version ---------------
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)`

我们需要使用java 11,所以我们按照我们的方式构建它。

我们希望找到一种在不重新启动的情况下重新加载java的方法。

我们希望将shutdown -r替换为某种类型的source或以下内容:

代码语言:javascript
运行
复制
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jdk
shutdown -r
sudo update-alternatives --config java
sudo update-alternatives --config javac

因为重新启动后,java -version显示openjdk version '11.0.1" 2018-10-16

那会做什么呢?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-02-23 20:45:15

重新启动不应该是必要的。

您的sudo update-alternatives --config java命令实际上完成了将缺省值从一个版本切换到另一个版本的大部分工作。但是,在该命令之后,您可能需要运行hash -r来获取当前会话的shell,以忘记它关于各种可执行文件实际在哪里的旧想法,然后重新启动。如果在10.0.1版本仍然是最新安装的版本时使用了java命令,则shell可能已经缓存了它的位置,并一直使用它直到被告知,或者使用hash -r、注销/登录,或者重新引导(为此目的过度使用)。

如果您的朋友在登录脚本中添加了一些显式设置$JAVA_HOME或任何其他相关环境变量的内容,那么登出和返回可能也是必要的。

因此,我建议采取以下步骤:

代码语言:javascript
运行
复制
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac
hash -r
java -version
<if still indicates an old version, then logout & login again>
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/502449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档