2012-02-21 66 views
1

回聲$ CLASSPATH包的javax.servlet不存在 - 的Ubuntu,tomcat的

/home/user/tomcat/lib/server-api.jar 

回聲$ JAVA_HOME

.:/usr/lib/jvm/java-6-sun 

但是當我嘗試編譯的.java它是類文件夾中

javac *.java 

我得到

HelloServlet.java:2: package javax.servlet does not exist 

和另外5個類似的錯誤。

我沒有得到任何錯誤,當

javac -cp /home/user/tomcat/lib/servlet-api.jar *.java 

這是爲什麼?我應該改變什麼才能使它在沒有-cp /路徑的情況下工作?

回答

2

看起來你的類路徑實際上並不包含servlet-api.jar。 CLASSPATH的回顯表明它在路徑中有server-api.jar,但沒有servlet-api.jar。嘗試將servlet-api.jar添加到CLASSPATH定義中,然後查看它是否可行。

+0

是的,我的錯誤,謝謝你指出這一點。儘管如此,類路徑的調整並沒有任何改變。 echo $ CLASSPATH /home/user/tomcat/lib/servlet-api.jar仍然會出現相同的錯誤。 – lunar 2012-02-21 03:14:14

+2

嗯,我希望這是一個簡單的修復。您是否嘗試使用'-verbose'選項執行javac以查看類路徑設置爲什麼?然後你可以比較使用'-cp'和'$ CLASSPATH'的類路徑差異。 'javac -verbose * .java' – 2012-02-21 15:12:44

+0

我找到了解決方案。我已經在這個文件中設置了路徑:〜/ .bashrc。這是一個錯誤,沒有效果。我從該文件中刪除了路徑,並將它們放在這裏:/ etc/environment,它的作用就像一個魅力。 – lunar 2012-02-25 23:42:40

-1

你得到這個錯誤,因爲servlet-api.jar文件不存在於你寫的路徑中。嘗試從這個鏈接http://www.java2s.com/Code/Jar/s/Downloadservletapijar.htm 下載的servlet-api.jar文件文件和下載文件夾解壓壓縮文件,然後移動的servlet-api.jar文件到/ var/lib中/ tomcat8/lib目錄/文件夾。

而對於complie的java文件第一次去 「SRC」 文件夾中的項目由終端和寫命令..

須藤的javac -d ../classes/ *的.java -cp的/ var/lib中/ tomcat8/lib/servlet-api.jar