2012-06-14 26 views
15

我试图建立Tomcat服务器,我使用从已经指示我bash的错误:无法找到/Library/...../setclasspath.sh,但它的存在

一个网站上的说明
 # Execute the Tomcat startup script 
     ./startup.sh 

但是当我进入./startup.sh命令我得到一个错误

 Cannot find /Library/Tomcat/Home/bin/setclasspath.sh 

但setclasspath.sh是存在的(见下面的截图):

enter image description here

我在做什么错?


,现在我不能cd到首页(见下图):

enter image description here

这里的路径信息: enter image description here

+0

是从/ Library/Tomcat/Home/bin目录列表?您的cd命令似乎被切断。 –

+1

在该目录上发布'pwd'的输出。 – nims

+0

属于unix.stackexchange.com – nims

回答

45

我有同样的问题,我的山狮机器上我使用这个命令:

$ unset CATALINA_HOME 

之后,它解决了我的问题。该命令将取消设置环境变量CATALINA_HOME

+0

我遇到了错误:找不到/usr/local/apache-tomcat-7.0.34/bin/setclasspath.sh 运行此程序需要此文件。你的小费解决了我的问题! THANKS – andi

+0

谢谢!!!!!!!!!!!!!!!!!! –

1

我也有类似的问题,我可以通过简单地更改tomcat文件夹的文件权限来解决它。让它为每个人阅读和写。和SH startup.sh命令将正常工作和Tomcat/7.0.34

I got this solution from here

为了让所有的脚本运行的:

sudo chmod +x /Library/Tomcat/bin/*.sh 

我希望它帮您解决问题了。

0

阿里的答案是好的,但由于某种原因,我还需要.bash_profile中打开并注释掉CATALINA_HOME

因为权限
5

它,你可以运行这个用root $ sudo pathtotomcat/bin/./startup.sh

7

只需运行: $在终端中取消设置CATALINA_HOME ,它再次运行。

+0

拯救我的一天。感谢:D –

3

请重置CATALINA_HOME指向正确的路径。这应该可以解决问题。例如, ;目前它可能是在“在/ usr /共享/ tomcat6中/”,但你需要验证&点,直到像正确的目录“/usr/share/tomcat6/apache-tomcat-6.0.37/”

0

出现这种情况几乎肯定是因为当前shell中的环境变量值为CATALINA_HOME。例如我的例子中,我有一个较旧的tomcat安装,我删除并安装了另一个版本,但忘记更改.bash_profile中的env var集。所以建议删除var的任何方法都可以工作。如果您在.bash_profile中设置了CATALINA_HOME,请将其删除。 unset CATALINA_HOME也可以工作,但如果它在配置文件中,它将在您打开一个新shell时再次设置。

0

虽然所有提到的答案看起来不错,但了解主要原因是个好主意。

在操作系统的某个地方,一个文件正在为您的操作系统设置环境变量,其中一个变量名是CATALINA_HOME,它指向一个地址或路径。当您尝试运行./startup.shcatalina.sh run时,这些命令需要由您的操作系统设置的CATALINA_HOME,并且将覆盖tomcat配置的默认CATALINA_HOME。 (你可能已经使用了tomcat并设置了这个变量,现在你忘了它)

所以主要的解决方案是编辑这个特殊的文件,它真的取决于操作系统。在我的情况下,Fedora,两个文件是候选人之一是~/.bashrc和另一个是/etc/profile。编辑它们之后,您需要source它们或log out然后log in(在OS X我认为它应该在/Users/username/.bash_profile文件中)。

当然unset CATALINA_HOME命令的作品,但关闭和打开一个新的终端后,再次需要使用此命令,因为刷新。

相关问题