Macos bash错误:找不到/Library/…../setclasspath.sh,但它';在那里
我正在尝试设置tomcat服务器,我正在使用一个网站上的说明,该网站已指示我Macos bash错误:找不到/Library/…../setclasspath.sh,但它';在那里,macos,bash,tomcat,terminal,Macos,Bash,Tomcat,Terminal,我正在尝试设置tomcat服务器,我正在使用一个网站上的说明,该网站已指示我 # Execute the Tomcat startup script ./startup.sh 但是当我输入./startup.sh命令时,我得到了一个错误 Cannot find /Library/Tomcat/Home/bin/setclasspath.sh 但是setclasspath.sh在那里(见下面的屏幕截图): 我做错了什么 现在我无法将cd刻录到家中(请参
# Execute the Tomcat startup script
./startup.sh
但是当我输入./startup.sh命令时,我得到了一个错误
Cannot find /Library/Tomcat/Home/bin/setclasspath.sh
但是setclasspath.sh在那里(见下面的屏幕截图):
我做错了什么
现在我无法将cd刻录到家中(请参见下面的屏幕截图): 以下是路径信息:
我的mountain lion机器也有同样的问题,我使用以下命令:
$ unset CATALINA_HOME
然后它解决了我的问题。这个命令将取消设置环境变量CATALINA_HOME我也有类似的问题,我可以通过简单地更改tomcat文件夹的文件权限来解决它。让它为每个人读和写。sh
startup.sh
命令在Tomcat/7.0.34上运行良好
要使所有脚本都可运行,请执行以下操作:
sudo chmod +x /Library/Tomcat/bin/*.sh
我希望它也能解决您的问题。阿里的回答很好,但出于某种原因,我还需要打开。bash_profile并注释掉CATALINA_HOME由于许可,您可以使用root运行此程序
$sudo pathtotomcat/bin//startup.sh
只需运行:
$unset CATALINA_HOME
请将CATALINA_主页重置为指向正确路径。这应该可以解决问题。
例如当前它可能位于“/usr/share/tomcat6/”,但您需要验证并指向正确的目录,如“/usr/share/tomcat6/apache-tomcat-6.0.37/”这几乎肯定是因为当前shell中的
CATALINA_HOME
环境变量的值不正确。例如,在我的例子中,我有一个较旧的tomcat安装,我删除并安装了另一个版本,但忘记了更改.bash\u profile
中设置的env var。因此,建议的任何消除var的方法都会起作用。如果在.bash\u profile
中设置了CATALINA\u HOME
,请将其删除unset CATALINA_HOME
也可以工作,但如果它在配置文件中,则在打开新shell时会再次设置它 尽管所有提到的答案看起来都很好,但最好了解主要原因
在操作系统的某个地方,有一个文件正在为操作系统设置环境变量,其中一个变量名是CATALINA\u HOME
,它指向一个地址或路径。当您尝试运行/startup.sh
或catalina.sh run
时,这些命令需要由您的操作系统设置的catalina\u HOME
,它将覆盖tomcat配置的默认catalina\u HOME
。(您可能以前使用过tomcat并设置了此变量,但现在忘记了它)
因此,主要的解决方案是编辑这个特殊的文件,这实际上取决于操作系统。在我的例子中,Fedora
,两个文件是候选文件,其中一个是~/.bashrc
,另一个是/etc/profile
。在编辑它们之后,您需要source
或注销
,然后登录
(在OSX
上,我认为它应该在/Users/username/.bash\u profile
文件中)
当然,
unset CATALINA\U HOME
命令可以工作,但在关闭和打开新终端后,由于刷新,您需要再次使用此命令。U需要在两个位置设置两行
路径详细信息
导出JAVA_HOME=/usr/lib/jvm/JAVA-1.8.0-openjdk-amd64
导出CATALINA_HOME=/opt/tomcat/apache-tomcat-7.0.90
把这条路放在这行的末尾
要编辑的文件
vi~/.bashrc
vi~/.bash_简介
/shutdown.sh
/startup.sh
它对我有用是从/Library/Tomcat/Home/bin列出的目录吗?您的cd命令似乎已被截断。请将
pwd
的输出张贴在该目录下。它属于unix.stackexchange.com。结果表明它是apache-tomcat-6.0.35中的bin。。。不在家。。。但是,当我将cd刻录到主页时,我会在上面发布另一个错误。您可以在Home
目录所在的位置执行ls-al
吗。正如@nims所说,一个pwd
就好了。我遇到了一个错误:找不到/usr/local/apache-tomcat-7.0.34/bin/setclasspath.sh运行这个程序需要这个文件。你的小费解决了我的问题!谢谢你,祝我愉快。谢谢:D