Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos bash错误:找不到/Library/…../setclasspath.sh,但它';在那里_Macos_Bash_Tomcat_Terminal - Fatal编程技术网

Macos bash错误:找不到/Library/…../setclasspath.sh,但它';在那里

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刻录到家中(请参

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

      # 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