2011-05-25 193 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环境变量设置为您尝试调用的版本。