【发布时间】:2015-05-07 22:06:19
【问题描述】:
首先,这不是重复的帖子,因为:
1.- 我在没有任何 IDE、Ant 或 Maven 的情况下构建。
2.- 我已经找过了,并尝试了Compile error: package javax.servlet does not exist中给出的解决方案。
但是,我的问题仍然在这里。
基本上,我正在尝试导入:
import javax.servlet.jsp.JspWriter;
但在编译时我得到:
./src/tfg/lti/UI/Painter.java:4: error: package javax.servlet.jsp does not exist
import javax.servlet.jsp.JspWriter
我像下一行的第一行一样编译类,在寻找解决方案后,我尝试了下一个,因为用户说链接文件给他带来了麻烦,需要指向真实文件:
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/ ./src/tfg/lti/Config/Setup.java
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/:/usr/share/tomcat6/lib/servlet-api.jar ./src/tfg/lti/Config/Setup.java
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/:/usr/share/java/servlet-api.jar ./src/tfg/lti/Config/Setup.java
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/:/usr/share/java/servlet-api-2.5.jar ./src/tfg/lti/Config/Setup.java
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/:/usr/share/java/servlet-api-2.4.jar ./src/tfg/lti/Config/Setup.java
如您所见,我尝试使用所有可能的链接到我为该软件包提供的文件,但编译时仍然出现错误。在那里您可以快速查看文件:
ll /usr/share/tomcat6/lib/ | grep servlet
lrwxrwxrwx 1 root root 30 jul 24 2014 servlet-api.jar -> ../../java/servlet-api-2.5.jar
ll /usr/share/java/ | grep servlet
-rw-r--r-- 1 root root 93251 oct 22 2011 servlet-api-2.4.jar
-rw-r--r-- 1 root root 88360 jul 24 2014 servlet-api-2.5.jar
lrwxrwxrwx 1 root root 19 oct 22 2011 servlet-api.jar -> servlet-api-2.4.jar
有什么想法吗?
提前谢谢你
更新:由于 Albert 告诉我在 classpath 中使用 jsp-api,我尝试了以下几种:
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/:/usr/share/tomcat6/lib/servlet-api.jar:/usr/share/tomcat6/lib/jsp-api.jar ./src/tfg/lti/Config/Setup.java
javac -Xlint -d ./Server/WEB-INF/classes/ -cp ./Server/WEB-INF/classes/:./Server/WEB-INF/jar/:/usr/share/java/servlet-api-2.4.jar:/usr/share/java/jsp-api-2.1.jar ./src/tfg/lti/Config/Setup.java
结果相同。可供我使用的文件 jsp-api:
ll /usr/share/tomcat6/lib/ | grep jsp-api
lrwxrwxrwx 1 root root 26 jul 24 2014 jsp-api.jar -> ../../java/jsp-api-2.1.jar
更新 2:添加 jsp-api.jar 包含的内容(您说得对,Albert,JspWriter 就在其中)。添加一些代码(导入等)。
jsp-api-2.1.jar 内容:
出现故障的类的代码:
进口:
import java.util.Date;
import javax.servlet.jsp.JspWriter;
import java.io.IOException;
import tfg.lti.Config.TextFileWorker;
第一个函数,调用JspWriter所在的函数:
public void BuildUI(boolean periodEnabled, Date nextDeliver,
String nextDeliveryTitle, String path, JspWriter webWriter)
调用函数:
BuildLoadUI(nextDeliveryTitle, path, webWriter);
我需要工作的部分目标函数:
private void BuildLoadUI(String nextDeliveryTitle, String path,
JspWriter webWriter) throws IOException
{
TextFileWorker Reader = new TextFileWorker();
String[] fileString;
webWriter.print("<h2>Evaluación - " + nextDeliveryTitle + "</h2>" + '\n');
【问题讨论】:
-
你是否得到同样的错误:
javax.servlet.jsp does not exist?它应该在jsp-api.jar中找到JspWriter。查看 jar 以查看这些类是否真的存在。尝试发布您的代码,或者至少发布imports以查看是否错过了某人。 -
添加了一些代码,并查看了 jar 文件。感谢您帮助艾伯特。
-
这样的错误对我来说仍然没有意义。这是你唯一的错误吗?
javac运行时是否还有其他输出? -
是的,还有使用 JspWriter 的行