0
基本上我有一个名为find.java
的servlet使用Eclipse IDE创建。find.java:14:错误:无法找到符号JAVA
的问题是什么编译它我得到这些错误:
D:\pack>javac find.java
find.java:4: error: package javax.servlet does not exist
import javax.servlet.ServletException;
^
find.java:5: error: package javax.servlet.annotation does not exist
import javax.servlet.annotation.WebServlet;
^
find.java:6: error: package javax.servlet.http does not exist
import javax.servlet.http.HttpServlet;
^
find.java:7: error: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletRequest;
^
find.java:8: error: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletResponse;
^
find.java:12: error: cannot find symbol
public class find extends HttpServlet {
^
symbol: class HttpServlet
find.java:11: error: cannot find symbol
@WebServlet("/find")
^
symbol: class WebServlet
find.java:14: error: cannot find symbol
protected void doGet(HttpServletRequest request, HttpServletResponse res
ponse) throws ServletException, IOException {
^
symbol: class HttpServletRequest
location: class find
find.java:14: error: cannot find symbol
protected void doGet(HttpServletRequest request, HttpServletResponse res
ponse) throws ServletException, IOException {
^
symbol: class HttpServletResponse
location: class find
find.java:14: error: cannot find symbol
protected void doGet(HttpServletRequest request, HttpServletResponse res
ponse) throws ServletException, IOException {
^
symbol: class ServletException
location: class find
10 errors
正如你可能已经注意到,错误被抛出的Java web应用程序内置变量如HttpServletRequest
或HttpServletResponse
的原因根据我的知识,我会说这可能是由于找不到编译该文件所需的库。
所以,我想这:
D:\pack>set CLASSPATH="C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib\*.jar":%CLASSPATH%
或
D:\pack>set CLASSPATH="C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib\*":%CLASSPATH%
和
D:\pack>set CLASSPATH="C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib\servlet-api.jar":%CLASSPATH%
然后javac find.java
但没有工作,也是我的环境变种iables被定义为:
用户变量为没有人:
Variable Name: CLASS
Variable Value: C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib;C:\Program Files\Java\jdk8\lib
系统变量:
Variable Name: jdk
Variable Value: C:\Program Files\Java\jdk8
Variable Name: path
Variable Value: C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\MySQL\MySQL Utilities 1.6\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Java\jdk8\bin
供参考:我已经测试我的servlet find.java在Eclipse的IDE与发送和响应请求其找到了,但现在我需要部署它来创建.war文件。但我发现了这些错误
许多鉴赏:)
@Jens不是我误会了你,就是你错了。如果我们看看http://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html - >“类路径通配符”部分,它解释了'*'是“*认为是等价的指定扩展名为.jar或.JAR *的目录中所有文件的列表“。我不是JEE开发人员,所以我不确定正确的库的位置,但也许问题是OP应该只使用'*'而不是'* .jar'。 – Pshemo
@jens好吧,我花了一点时间,但我做了,仍然没有工作 –