簡體   English   中英

如何在命令行中為Tomcat編譯servlet? 錯誤:包javax.servlet不存在

[英]How to compile a servlet for Tomcat in command line? error: package javax.servlet does not exist

編譯Java文件時,我收到此錯誤消息:

error: package javax.servlet does not exist

我為Jave EE SDK安裝了一個大的.SH文件,Java版本給了我這個:

java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

我需要安裝其他東西嗎?

我使用Tomcat 7作為位於/Library/Tomcat/的Servlet容器和使用命令行的簡單文本編輯器。

您需要在編譯時類路徑中包含servlet-api JAR。

如果您正在使用maven,請將其添加為pom.xml中的依賴項。

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

這將包括編譯時的依賴關系並在運行時使用Tomcat。

如果不是,您應該通過Eclipse將Tomcat添加為項目目標運行時。

這個問題有一些有用的信息,可以在Eclipse項目中包含這些: 如何在Eclipse項目中導入javax.servlet API?

如果使用命令行來構建項目,則很可能需要將這些添加到javac的classpath參數中,以將這些jar添加到類路徑中。

看到這個問題: 如何從命令提示符編譯servlet?

關鍵部分是:

javac -classpath C:\apache-tomcat-7.0.23\lib\servlet-api.jar MyTestServlet.java

Windows用戶:

我自己遇到了這個問題,這里的解決方案運行良好

只需將此路徑添加到CLASSPATH環境變量“C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0 \\ lib \\ servlet-api.jar”

jar名稱前面的路徑可能因安裝而異。 只需轉到tomcat的lib文件夾並復制整個目錄。

有關初學者的更多信息:您可以在此處找到環境變量MyComputer - >屬性 - >高級設置 - >高級選項卡

現在您只需轉到cmd提示符並輸入“javac Myclass.java”

希望這可以幫助!

javac -classpath /Library/Tomcat/lib/servlet-api.jar *.java

在Wikipedia上閱讀有關java類路徑的內容

准備好“概述和架構”下的最后一段。

在你的例子中

javax.servlet包不是引導程序包或擴展程序包的一部分,因此必須手動將其添加到類路徑中。 ALJI已經向您展示了如何從命令行執行此操作。 上面的Wikipedia鏈接也提供了示例。

建議

在開始使用新語言時,每個人都會遇到這些類型問題。 Google提供的教程將幫助您對Java類路徑有一個基本的了解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM