2010-08-22 88 views
2

我已經在windows vista home basic中安裝了Tomcat 5.5。我已將類路徑設置爲 「C:\ program files \ apache software foundation \ tomcat 5.5 \ common \ lib \ servlet-api.jar」。 現在有兩個問題。 1.我無法編譯我的servlet。它說包javax.servlet。* dosenot存在。 2.我無法連接本地主機在鉻或瀏覽器。在tomcat 5.5中設置classpath後的編譯問題

儘管服務器實例在運行,但這些錯誤仍在出現。 到java sdk和tomcat的Classpath是不同的。這是值得關注的問題。 請幫忙。 我已經投入了相當多的時間來找出問題所在。 thanx提前。

回答

1

我無法編譯我的servlet。它說包javax.servlet。* dosenot存在。

這意味着javac的類路徑未被正確指定。它應該如下所示:

javac -cp .;"/path with spaces/to/servlet-api.jar" com/example/YourServlet.class

請注意,您需要用雙引號括住空格。

我無法連接本地主機在鉻或瀏覽器。儘管服務器實例正在運行,但這些錯誤仍在出現。

然後你使用了錯誤的域名/端口。在本地機器上運行Tomcat時,該域應至少爲localhost。實際的端口可以在Tomcat/conf/server.xml文件中確定。它默認爲8080,但可以在Windows安裝嚮導中更改。最終的網址應該看起來像http://localhost:8080。如果您使用默認HTTP端口80,則可以從URL中省略:80部分。

對於java sdk和tomcat的類路徑是不同的。

%CLASSPATH%環境變量是毫無價值的。使用-cp參數。如果您想避免每次長時間輸入/記住,請考慮在命令中使用.bat文件,或者使用像Ant這樣的構建工具或Eclipse等IDE。然而,環境變量是重要的。 Tomcat需要知道它才能訪問工具集來編譯JSP文件。 %JAVA_HOME%應該指向JDK的安裝目錄。

+0

現在它可以連接到tomcat 5.5,但仍然無法編譯我的servlet,每次都有相同的錯誤報告。 我試圖從我的工作java目錄以及保持servlet在tomcat 5.5文件夾中的位置進行編譯。 和第二件事是tomcat要求我找到jre路徑,它位於「c:\ program files \ java \ jre6」。 和在tomcat 5.5配置它說jvm位置爲 「C:\ Program Files \ Java \ jre6 \ bin \ client \ jvm.dll」 也請告訴如果tomcat需要jre或jdk – Nitesh 2010-08-24 06:07:18

1

我已經設置類路徑爲 「C:\程序 文件\ Apache軟件基金會 \ tomcat的 5.5 \ common \ lib文件\ servlet的api.jar文件」

如果這意味着CLASSPATH環境變量,你正在學習一個寶貴的教訓:它毫無價值。 javac.exejava.exe忽略它;所以所有的Java EE應用服務器都像Tomcat一樣;所以像IntelliJ這樣的所有IDE。

每次在命令shell中編譯或將其添加到IDE項目CLASSPATH或在Ant中設置時,必須將servlet-api.jar添加到您的CLASSPATH中,使用javac.exe -cp

如果您無法使用Chrome或資源管理器連接到本地主機,則可能意味着您沒有正確打包或部署應用。確保你創建了一個有效的WAR文件並將它放在Tomcat 5.x/webapps目錄中進行部署。

+0

僅當您使用任何'-cp','-classpath'或'-jar'參數時,它纔會被忽略。如果你不使用它們中的任何一個,將使用'%CLASSPATH%'。然而,這確實是一個不好的做法。 – BalusC 2010-08-22 18:09:26