使用digest.bat创建摘要,但未配置JRE_HOME

时间:2013-04-17 19:48:56

标签: windows tomcat environment-variables java digest

我正在尝试为某些密码创建摘要。

运行以下命令时

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(有或没有分号和/或尾部反斜杠),问题仍然存在。

  1. tomcat的版本是7.0.34

  2. java的版本是jre7

  3. 操作系统是Win7 Pro 64位

  4. 我的下一步是安装不同版本的JRE,然后再试一次,以便获得任何帮助。

1 个答案:

答案 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