2011-05-25 194 views
36

運行我的tomcat時出現以下錯誤。BASEDIR環境變量未正確定義

的BASEDIR環境變量未正確定義
需要此環境變量來運行該程序

2009年12月23日下午1點03分22秒org.apache.jk.server.JkMain啓動 INFO:JK運行ID = 0時間=四十一分之一配置= NULL

這是我設置我JAVA_PATH在我的bashrc文件

export JAVA6_HOME=/home/asharma/Softwares/jdk1.6.0_12 
export JAVA_HOME=$JAVA6_HOME 

export JPDA_TRANSPORT=dt_socket 
export JPDA_ADDRESS=9000 
export RESIN_HOME=/home/asharma/Softwares/resin 

export PATH JAVA_HOME  
export GDK_NATIVE_WINDOWS=1 

export CATALINA_HOME=/home/asharma/Softwares/apache-tomcat-6.0.20   
export CATALINA_OPTS="-Dcom.sun.management.jmxremote Dcom.sun.management.jmxremote.port=19000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 

export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9998 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 

alias tstart="$CATALINA_HOME/bin/catalina.sh jpda start -Xmx2000m -Dcom.sun.management.jmxremote.port=9998 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false ; tail -f $CATALINA_HOME/logs/catalina.out" 
alias tstop="sh $CATALINA_HOME/bin/shutdown.sh" 

alias minstall='mvn clean install -Dhttps.proxyHost=monitoring01.hyd.int.untd.com -Dhttps.proxyPort=3128' 

alias resin='sh $RESIN_HOME/bin/httpd.sh -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -verbose -DVPS_HOME=/home/asharma/vps -Xms2000m -Xmx2000m' 
+0

BASEDIR應設置在catalina.sh中(通常等於CATALINA_HOME)。確保你的catalina.sh文件裏有這個。最壞的情況下,添加到您的出口 – Sean 2011-05-25 15:14:27

+0

以上我已經在我的catalina.sh文件中設置了BASEDIR到CATALINA_HOME,即使這樣我也得到了同樣的錯誤。它有類似BASEDIR =「$ CATALINA_HOME」 。 「$ CATALINA_HOME」/斌/ setclasspath。sh else if [-r「$ CATALINA_HOME」/bin/setclasspath.sh];然後 BASEDIR =「$ CATALINA_HOME」 。 「$ CATALINA_HOME」/bin/setclasspath.sh 其他 – 2011-05-26 05:30:24

回答

106

我有同樣的問題,這對我工作。在終端

轉到您的路徑到tomcat的/ bin中然後執行以下命令:

試試這個

chmod +x *.sh 

然後運行Tomcat使用./startup.sh

+1

你剛剛救了我的一天。感謝NinjaBoy – 2013-07-02 05:08:54

+0

@mushtaq很高興幫助你。 – NinjaBoy 2013-07-02 05:13:18

+0

它適用於我,我有問題,因爲我從我的Ubuntu的另一個系統複製Apache Tomcat。 – umesh 2013-10-30 09:44:33

2

我有一個新的安裝tomcat的Windows 7中的這個問題,約30分鐘後,我想看看錯誤是什麼,並打開了classpath.bat文件查看名爲BASEDIR的變量。我嘗試了所有不同的事情,人們建議無濟於事。簡單的解決方案,我發現..

開放的startup.bat 添加

集BASEDIR = d:\ tomcat的

或任何你的tomcat的基礎文件夾是行@echo之後關閉(這是在該文件中的第一行)

2

我解決了它使用sudo

sudo ./startup.sh 
+0

這節省了我的一天。謝謝@freeman – Amit 2016-07-14 08:18:38

2

我有同樣的問題,並已解決它。還有一個tomcat,在/ etc/profile中有CATALINA_HOME設置,當新的tomcat啓動時,CATALINA_HOME重定向到舊的tomcat home,新的tomcat啓動用戶沒有權限執行。

只需在startup.sh腳本的開頭添加設置「export CATALINA_HOME =」到新的tomcat主目錄。

+0

還需要在shutdown.sh中添加設置。 – 2013-10-10 00:53:20

8

對我來說,問題的發生是因爲我安裝了不同版本的Apache Tomcat。特別是,如果您嘗試調用較新版本的Web服務器,並且CATALINE_HOME指向舊版本,則會出現此錯誤。對我而言,快速修復是將CATALINA_HOME環境變量設置爲您嘗試調用的版本。