我刚刚用sudo apt-get install openjdk-6-jdk命令在Ubuntu中安装了JDK, 安装后Java bin目录在哪里?如何为该目录设置环境路径?我对Ubuntu没什么经验,有人能给我一些建议或者推荐一些好的网站供参考吗?
当前回答
一旦我在Ubuntu机器上安装了Java Development Kit的openjdk版本,我使用这个过程来创建一个JAVA_HOME环境变量,在每次升级openjdk安装版本后都不需要更改这个环境变量。
首先,我发出一个命令来查找java可执行文件所在的目录。
echo $(readlink -e `which java` | xargs -0 dirname)
如果我对它的输出满意,其他的都可以从它推导出来。
配置JAVA_HOME和PATH环境变量
而不是在~/中添加越来越多的配置。我发现创建一个单独的小文件~/. bashrc文件是一个更干净的实践。Bashrc在运行时可以“包含”。
让我们将该文件命名为~/.java_env_vars(但您可以将其命名为任何您希望的名称)。
在~/中添加一个包含条件。bashrc文件(
~ /开放。在任何文本编辑器中使用Bashrc,并将这些行保存到文件的末尾:
# include the java environment configuration file here (if it exists)
if [ -f "$HOME/.java_env_vars" ]; then
. $HOME/.java_env_vars
fi
创建Java环境变量配置文件
打开任何文本编辑器,创建Java环境配置文件~/.java_env_vars,并将以下内容添加到其中:
#1. set a java_bin variable to the directory containing the actual Java executables.
java_bin=$(readlink -e `which java` | xargs -0 dirname)
#2. append "$java_bin" to the PATH environment variable
export PATH=$PATH:"$java_bin"
#3. assign the directory of the current Java installation to the JAVA_HOME environment variable.
export JAVA_HOME=$(dirname "$java_bin")
注意:导出PATH和JAVA_HOME变量只是确保它们在需要时始终可用。
来源你的~/。Bashrc文件(这样你对它所做的更改就会反映出来)使用以下命令:
source ~/.bashrc
测试Java环境变量配置
打开一个新的终端控制台,并通过发出以下命令测试新的Java环境变量:
echo "$PATH" && echo "$JAVA_HOME"
输出应该是两行,就像这样:
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-11-openjdk-amd64/bin
/usr/lib/jvm/java-11-openjdk-amd64
其他回答
您可以从apt安装默认的Ubuntu(17.10) java:
sudo apt install openjdk-8-jdk-headless
它会为你设置PATH,如果你需要安装特定版本的Java,你可以关注这个YouTube
创建/打开~ /。Bashrc文件$vim ~/.bashrc 添加JAVA_HOME和PATH作为JDK路径
export JAVA_HOME=/usr/java/<your version of java>
export PATH=${PATH}:${JAVA_HOME}/bin
保存文件
现在输入java -version,它会显示你在.bashrc文件中设置的内容。
这也会在会议中持续。
例子:
要设置系统范围,您需要使用
/etc/environment文件sudo gedit /etc/environment . txt
是可以定义任何环境变量的位置。它可以在整个系统范围内可见。变量定义后,系统需要重新启动。
例子:
sudo gedit /etc/environment
添加如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/opt/jdk1.6.0_45/"
你可以在这里找到更多信息:http://peesquare.com/blogs/environment-variable-setup-on-ubuntu/
Ubuntu将openjdk6安装到/usr/lib/jvm/java-6-openjdk路径下。因此,您将在/usr/lib/jvm/java-6-openjdk/bin中设置bin。通常为java和相关的可执行文件自动设置类路径。
Update bashrc file to add JAVA_HOME sudo nano ~/.bashrc Add JAVA_HOME to bashrc file. export JAVA_HOME=/usr/java/<your version of java> export PATH=${PATH}:${JAVA_HOME}/bin Ensure Java is accessible java -version In Case of Manual installation of JDK, If you got an error as shown below Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object Execute the following command in your JAVA_HOME/lib directory: unpack200 -r -v -l "" tools.pack tools.jar Execute the following commands in your JAVA_HOME/jre/lib ../../bin/unpack200 rt.pack rt.jar ../../bin/unpack200 jsse.pack jsse.rar ../../bin/unpack200 charsets.pack charsets.jar Ensure Java is accessible java -version
推荐文章
- 安装tzdata非交互式
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder