我正在尝试为某些密码创建摘要。
运行以下命令时
C:\Program Files\apache-tomcat-7.0.34\bin> digest.bat -a SHA-256 somepassword
我收到以下错误
The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program
JRE_HOME的值为C:\Program Files\Java\jre7
我在后面的前.;
处尝试\bin
(有或没有分号和/或尾部反斜杠),问题仍然存在。
tomcat的版本是7.0.34
java的版本是jre7
操作系统是Win7 Pro 64位
我的下一步是安装不同版本的JRE,然后再试一次,以便获得任何帮助。
答案 0 :(得分:2)
来自%CATALINA_HOME%\ bin \ tool-wrapper.bat 文件,该文件是从 digest.bat 中引用的:
rem JAVA_HOME Must point at your Java Development Kit installation.
rem Using JRE_HOME instead works as well.
rem
rem JRE_HOME Must point at your Java Runtime installation.
rem Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
rem are both set, JRE_HOME is used.
换句话说,只需将 JAVA_HOME 设置为指向 JDK (而不是JRE)安装,所有这些都可以正常工作(在我的机器上测试)。
我机器上的 JAVA_HOME 示例:
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_17
<强>更新强>
来自位于Tomcat目录中的 running.txt 文件:
(3)配置环境变量
Tomcat是一个Java应用程序,不使用环境变量。 这些变量由Tomcat启动脚本使用。脚本使用 用于准备启动Tomcat的命令的变量。
(3.1)设置CATALINA_HOME(必填)和CATALINA_BASE(可选)
CATALINA_HOME和CATALINA_BASE环境变量用于 指定Apache Tomcat的位置及其活动的位置 配置,分别。
CATALINA_HOME环境变量应按照中的定义进行设置 (2.2)以上。 Tomcat启动脚本有一些逻辑来设置它 如果不存在则自动变量(基于的位置) Unix中的脚本和Windows中的当前目录),但是这个 逻辑可能不适用于所有情况。
CATALINA_BASE环境变量是可选的,并且是进一步的 在下面的“多个Tomcat实例”部分中描述。如果是 缺席,它默认等于CATALINA_HOME。
(3.2)设置JRE_HOME或JAVA_HOME(必填)
JRE_HOME变量用于指定JRE的位置 用来启动Tomcat。
JAVA_HOME 变量用于指定JDK的位置。 是的 用来代替JRE_HOME。
使用 JAVA_HOME可以访问某些其他启动选项 使用JRE_HOME时不允许使用。
如果同时指定了JRE_HOME和JAVA_HOME,则使用JRE_HOME。
补充阅读:Tomcat: kick start