2012-06-14 27 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命令的作品,但關閉和打開一個新的終端後,再次需要使用此命令,因爲刷新。

相關問題