---
title: 配置JDK
description: "1. 创建JDK安装目录。"
url: https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/preparations/NativeDevelopment_0029.html
sourcePath: /source/zh/nativedevp/userguide/preparations/NativeDevelopment_0029.html
indexId: 07c1d1b037f264990724e4b8f3469526ffa3fecd87cf30074f4994ef4e8ec21772
---
# 配置JDK

1. 创建JDK安装目录。

```
mkdir -p /usr/local/lib64/jvm/bisheng
```


2. 下载并解压JDK到对应的安装目录。

```
wget -c https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-17.0.10-linux-aarch64.tar.gz -O - | tar -C /usr/local/lib64/jvm/bisheng/ -xzf - --no-same-owner
```


3. 创建自动配置脚本。

```
cat > "${HOME}"/SetJavaAlternatives.sh << 'EOF'
#!/bin/bash
jvm_path=/usr/lib/jvm
mkdir -p "${jvm_path}"
jdk_home_path=/usr/local/lib64/jvm/bisheng/bisheng-jdk-17.0.10
PRIORITY_ID=901700010
update-alternatives --install "${jvm_path}"/java-17 java_sdk_17 "${jdk_home_path}" "${PRIORITY_ID}"
update-alternatives --install "${jvm_path}"/java-17-openjdk java_sdk_17_openjdk "${jdk_home_path}" "${PRIORITY_ID}"
update-alternatives --install "${jvm_path}"/java-openjdk java_sdk_openjdk "${jdk_home_path}" "${PRIORITY_ID}"
for BinFilePath in "${jdk_home_path}"/bin/*; do
if [ -x "${BinFilePath}" ]; then
BinFileName="$(basename "${BinFilePath}")"
update-alternatives --install /usr/bin/"${BinFileName}" "${BinFileName}" "${BinFilePath}" "${PRIORITY_ID}"
fi
done
for ManFilePath in "${jdk_home_path}"/man/man1/*; do
if [ -f "${ManFilePath}" ]; then
ManFileName="$(basename "${ManFilePath}")"
update-alternatives --install /usr/share/man/man1/"${ManFileName}" "${ManFileName}" "${ManFilePath}" "${PRIORITY_ID}"
fi
done
EOF
```


4. 执行自动配置脚本。

```
/bin/bash "${HOME}"/SetJavaAlternatives.sh
```


5. 移除自动配置脚本。

```
rm -rf "${HOME}"/SetJavaAlternatives.sh
```


6. 配置JDK环境变量。

  a. 一键设置Java环境变量。

```
cat > /etc/profile.d/JavaEnvironmentVariable.sh << 'EOF'
# SET JDK Environment
JAVA_HOME=/usr/lib/jvm/java-17
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
EOF
```


  b. 加载系统环境变量。

```
source /etc/profile
```
