在我的系统上安装 java 11 后,运行时仍然是 1.8
安装的java版本:
JAVA_HOME 环境变量值:
C:\Program Files\Java\jdk-11.0.3
从命令提示符运行
java -version
命令,期望看到 java 11 信息,但我看到的是 java 8。
更改环境变量值不会改变结果,重新启动似乎没有做任何事情。
C:\Users\user>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) Client VM (build 25.211-b12, mixed mode)
预计会显示 java 11 运行时信息
这件事昨天才发生在我身上。 严格按照说明进行操作,但仍然得到了不同的 Java 版本 (1.8.0),而不是我下载的 JDK11 版本的预期版本 (11.0.5)。 有趣的是,CMD 提示符为 'javac -version' 命令返回了正确的 Java 版本 (11.0.5),但不是常规 'java -version' 命令。 我的 IT 专家甚至告诉我尝试卸载现有的 Java 负载,因为他想不出还有什么可以尝试的......(我最终没有删除 Java)
事实证明他确实帮助了我,也许是无意的,但只是事后才意识到这一点。 他告诉我尝试移动路径变量
%JAVA_HOME% 位于
在[编辑环境变量]窗口中找到的路径变量显示列表的最顶部,用于PATH系统变量选项。 这并没有立即起作用,所以我们认为它没有效果。 但我相信这失败了,因为事实证明我在首先输入变量时犯了一个疏忽。 我用小写字母而不是大写字母写了“家”这个词。 一旦我意识到我的错误并将其修复为以大写字母显示“HOME”,我的 CMD 提示符就会返回正确的 java -version (11.0.5),它与 javac -version 命令结果相匹配。
请注意:
然后,我尝试将 %JAVA_HOME% in 变量移回列表的底部(它最初创建的位置),并且 java -version 命令不再显示 v.11.0.5,而是返回 v 的原始答案。 1.8.0。 所以,我玩了一下,发现这个变量需要是现有 PATH 窗口中的以下变量:
希望这对其他人有帮助,就像它帮助我一样!
path
而不是更新系统变量来解决这个问题。
目前我有:
JAVA_HOME = C:\Program Files\Java\jdk-11.0.6
和
path
包含
%JAVA_HOME%\bin
(在用户变量中)
在cmd/terminal中 - 输入
where java
,这将返回系统中所有已安装的java版本。
就我而言,我前段时间以某种方式安装了 java 11(我不记得是什么时候)。然后我
小心地删除了上面列表中的java 11和Oracle java 2个目录。然后添加了JAVA_HOME
和 PATH - %JAVA_HOME%\bin
在系统环境变量中,追加 PATH 以指向新 JDK 的 bin 文件夹,并删除旧条目
%JAVA_HOME%\bin
1: Click on Start (Windows) button.
2: Write Environmental variables.
3: Select the item.
4: Go to Advanced tab.
5: Click Environmental Variables.
6: Look for the one called "path".
7: Check for the java 7 instalation and change it to the path of your Java 11 instalation (C:\Program Files\Java\jdk-11.0.3).
#!/bin/bash
echo "Starting the ACS Transaction Data Generation Process..."
# Function to check if a path exists
check_path() {
if [ ! -e "$1" ]; then
echo "Path does not exist: $1"
exit 1
fi
}
# Function to setup environment paths
setup_environment() {
ENV=$1
if [ "$ENV" = "local" ]; then
JAVA_CMD="C:/Program Files/Java/jdk1.8.0_111/bin/java" # Adjust based on local Java installation
CONFIG_PATH="C:/your_project_path/config"
MCGETPW_JAR="C:/your_project_path/lib/MCGetPW.jar"
LIB_JARS=$(echo C:/your_project_path/lib/*.jar | tr ' ' ':')
elif [ "$ENV" = "perf" ]; then
JAVA_CMD="/sys_apps_01/java/java-1.8.0-openjdk-1.8.0.111.x86_64/bin/java"
CONFIG_PATH="/apps_data_01/ppapi/regressionSuite/config"
MCGETPW_JAR="/usr/local/share/jni/MCGetPW.jar"
LIB_JARS=$(echo /apps_data_01/ppapi/regressionSuite/lib/*.jar | tr ' ' ':')
else
echo "Unknown environment: $ENV. Usage: $0 <local|perf> <number_of_transactions>"
exit 1
fi
check_path "$JAVA_CMD"
check_path "$CONFIG_PATH"
check_path "$MCGETPW_JAR"
for jar in $(echo $LIB_JARS | tr ':' ' '); do
check_path "$jar"
done
}
# Read arguments
if [ -z "$1" ] || [ -z "$2" ]; then
echo "Usage: $0 <local|perf> <number_of_transactions>"
exit 1
fi
ENVIRONMENT=$1
NUM_TRANSACTIONS=$2
# Set up environment-specific paths and variables
setup_environment "$ENVIRONMENT"
# Ensure classpath is correctly formed
CLASSPATH="$CONFIG_PATH:$MCGETPW_JAR:$LIB_JARS"
echo "Classpath set to: $CLASSPATH"
# Verify the presence of main class in the JAR files
echo "Checking for presence of main class com.mastercard.perftest.data.generator.AcsTransactionDataGenerator..."
JAR_FILES=$(echo $LIB_JARS | tr ':' ' ')
for jar in $JAR_FILES; do
if jar tf $jar | grep -q "com/mastercard/perftest/data/generator/AcsTransactionDataGenerator.class"; then
echo "Class found in $jar"
CLASS_FOUND=true
break
fi
done
if [ -z "$CLASS_FOUND" ]; then
echo "Main class com.mastercard.perftest.data.generator.AcsTransactionDataGenerator not found in any JAR file"
exit 1
fi
# Execute AcsTransactionDataGenerator with maxSize and env arguments
echo "Executing AcsTransactionDataGenerator with $NUM_TRANSACTIONS transactions in $ENVIRONMENT environment..."
$JAVA_CMD -cp "$CLASSPATH" com.mastercard.perftest.data.generator.AcsTransactionDataGenerator $NUM_TRANSACTIONS $ENVIRONMENT
STATUS=$?
if [ $STATUS -ne 0 ]; then
echo "AcsTransactionDataGenerator failed with status $STATUS"
exit $STATUS
else
echo "AcsTransactionDataGenerator succeeded"
fi
echo "Data generation process completed"
按照步骤操作,问题就解决了!
复制了存放jdk的链接。
:C:\Program Files (x86)\Java\jdk-11.0.12\
bin
在同一部分(在系统变量部分) - >单击新建 - >变量名称:
jdk-11.0.12(没有文件bin !!) -> 单击“确定”并关闭窗口。
打开 CMD 并运行 -> java -version 和下一个 javac -version。希望您觉得它有用。