2013-04-17 33 views
2

我正在嘗試爲某些密碼創建摘要。使用digest.bat創建摘要並退出,但未配置JRE_HOME

當運行下面的命令

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的臨64位

我的下一個步驟是安裝不同版本的JRE並再次嘗試,以便獲得任何幫助。

回答

2

%CATALINA_HOME%\ BIN \工具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 

UPDATE

running.txt文件位於Tomcat目錄:

(3)配置環境變量

Tomcat是一個Java應用程序,不使用環境變量。 變量由Tomcat啓動腳本使用。這些腳本使用 變量來準備啓動Tomcat的命令。

(3。1)集CATALINA_HOME(必需)和CATALINA_BASE(可選)

的CATALINA_HOME和CATALINA_BASE環境變量用來 指定的Apache Tomcat的位置和它的活性 配置的位置,分別。

CATALINA_HOME環境變量應該按照 (2.2)中的定義進行設置。如果Tomcat啓動腳本不存在(根據Unix中的 腳本的位置以及Windows中的當前目錄),則該Tomcat啓動腳本有一些邏輯可以自動設置此變量,但這種邏輯可能在所有情況下都不起作用。

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

+0

沒有,在PATH,你應該把:'JAVA_HOME/bin'到能夠調用的java.exe,器javac.exe等從*倉*不指定完整的路徑。但對於* JAVA_HOME *創建新的**系統變量**,請在*變量名*:** JAVA_HOME **中寫入*變量值*:** C:\ Program Files \ Java \ jdk1.7.0_17 ** – informatik01

+0

我只是想你的建議,並設置 JAVA_HOME到C:\ Program Files文件\的Java \ jdk1.7.0_10 沒有運氣 – robbmj

+0

@ user2126755奇怪。它在我的機器上工作得很好。你有* JAVA_HOME * a **系統變量**嗎? – informatik01