bash错误:找不到/Library/...../setclasspath.sh,但它就在那里

时间:2012-06-14 03:42:45

标签: macos bash tomcat terminal

我正在尝试设置tomcat服务器,我正在使用指示我的网站上的说明

      # Execute the Tomcat startup script
      ./startup.sh 

但是当我输入./startup.sh命令时,我收到错误

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

但是setclasspath.sh就在那里(见下面的截图):

enter image description here

我做错了什么????


现在我无法cd到Home(见下面的截图):

enter image description here

这是路径信息: enter image description here

9 个答案:

答案 0 :(得分:54)

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

$ unset CATALINA_HOME

然后它解决了我的问题。这个命令将取消设置环境变量CATALINA_HOME

答案 1 :(得分:10)

刚跑: $ unset CATALINA_HOME 在终端,它再次工作。

答案 2 :(得分:5)

由于权限,您可以使用root运行它 $ sudo pathtotomcat/bin/./startup.sh

答案 3 :(得分:4)

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

答案 4 :(得分:1)

我也有类似的问题,我只需更改tomcat文件夹的文件权限即可解决问题。让它为每个人读写。并且sh startup.sh命令可以在Tomcat / 7.0.34

中正常工作

I got this solution from here

使所有脚本可以运行:

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

我希望它也能解决你的问题。

答案 5 :(得分:0)

ali的答案很好,但出于某种原因我还需要打开.bash_profile并注释掉CATALINA_HOME

答案 6 :(得分:0)

这几乎肯定是因为当前shell中CATALINA_HOME环境变量的值不正确。在我的例子中,例如我有一个较旧的tomcat安装,我删除并安装了另一个版本,但忘了更改.bash_profile中的env var set。因此,删除var的任何建议方法都可行。如果您在CATALINA_HOME中设置了.bash_profile,请将其删除。 unset CATALINA_HOME也会起作用,但如果它处于配置文件中,则在打开新shell时将再次设置它。

答案 7 :(得分:0)

尽管所有提到的答案看起来都很好,但了解主要原因是一个好主意。

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

所以主要的解决方案是编辑该特殊文件,它实际上取决于操作系统。在我的情况下,Fedora,两个文件是其中一个是~/.bashrc,另一个是/etc/profile。编辑完成后,您需要source他们或log out然后log in(开{1}}我认为它应该在OS X文件中。

当然/Users/username/.bash_profile命令有效,但在关闭并打开一个新终端之后,由于刷新,您需要再次使用此命令。

答案 8 :(得分:0)

您需要在两个地方设置两行

路径详细信息

导出JAVA_HOME = / usr / lib / jvm / java-1.8.0-openjdk-amd64 导出CATALINA_HOME = / opt / tomcat / apache-tomcat-7.0.90

将此路径放在行尾

您要编辑的

个文件  vi〜/ .bashrc  vi〜/ .bash_profile

./ shutdown.sh ./startup.sh

对我有用