昨天一同事運行tomcat出現了問題,普通方式運行tomcat可以啟動,但是在eclipse中啟動,就出現了如下的錯誤:
2008-4-17 16:04:39 org.apache.coyote.http11.Http11Protocol init
嚴重: Error initializing endpoint
java.net.SocketException: Permission denied: listen failed
at java.net.PlainSocketImpl.socketListen(Native Method)
at java.net.PlainSocketImpl.listen(PlainSocketImpl.java:374)
at java.net.ServerSocket.bind(ServerSocket.java:320)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:141)
可以確定的是eclipse中tomcat的配置是正確的。
在進行卸載(tomcat,myeclipse)一番操作後,還是不可以,在網上尋找資料後,發現有可能和防火牆有關,
果然關閉掉防火牆(天網)後一切正常。
另:java環境變數的設定
classpath:主要是指向一些編譯工具,可以如下設定:CLASSPATH=%java_home%/jre/lib/rt.jar;%java_home%/lib/tools.jar; 注意,可以將目前的目錄添加到classpath中,“.;”,CLASSPATH=./;%JAVA_HOME%/jre/lib/rt.jar; 這個是告訴JDK,搜尋CLASS時先尋找目前的目錄的CLASS檔案——為什麼這樣搞,這是由於LINUX的安全機制引起的,LINUX使用者很明白,WINDOWS使用者就很難理解(因為WINDOWS預設的搜尋順序是先搜尋目前的目錄的,再搜尋系統目錄的,再搜尋PATH環境變數設定的) .
path:指向jdk的bin目錄,這樣在控制台下編譯、執行程式時就不需要鍵入一大串路徑了。在原來的path內容中添加%java_home%/bin;
java_home:指向jdk安裝目錄,如:c:/JDK_1.4.2; 注意:後面不能由分號,如果多添加了一個分號,則tomcat等不能正常啟動(運行startup.bat出錯)。
%%引起來的內容
是引用上一步設定好的環境變數JAVA_HOME,你寫成x:/JDK_1.4.2也是可以的;你可以開啟一個控制台視窗,輸入echo %JAVA_HOME%來看一下你的設定結果) :