Processing Java servlet 'javax.servlet' package not found

末鹿安然 提交于 2020-01-04 07:28:24

问题


Not a very common implementation, but using Processing as a Java Servlet has been discussed in previous posts before (1, 2). I have been developing a program in Processing to use as a Java servlet. However, when I have code (such as like the first linked example) in a Processing sketch, I get the error message

The package 'javax.servlet' does not exist.  You might be missing a library.

I have Tomcat 5.5 service running on XP, and my environment variables are as follows

CLASSPATH = C:\tomcat\common\lib\servlet-api.jar
CATALINA_HOME = C:\tomcat
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_21
JRE_HOME  = C:\Program Files\Java\jre6

I have been trying to diagnose why the javax.servlet packages are not recognized by Processing for many hours and there is nothing online that seems to yield an explanation other than fixing the environment variables to recognize the tomcat libraries. I have also tried to put the servlet-api.jar and jsp-api.jar files in Processing as a kind of custom Processing library but they are not recognized there either, nor when I try to run the program within the tomcat/webapps folder.

I also have tried

javap -classpath my;class;path javax.servlet.Servlet

on the cmd and it gave me the same error.

I'm not that good with Tomcat yet so please forgive me if this is a result of my unfamiliarity. If anyone more knowledgeable than I can shed some light as to why Processing cannot recognize this package would be tremendous. Thanks so much~


回答1:


CLASSPATH = C:\tomcat\common\lib\servlet-api.jar

This is the problem . Your classpath should be one level up i.e

CLASSPATH = C:\tomcat\common\lib\

This should work fine.




回答2:


Right Click on MyComputer->Properties->Advanced->Environment Variables->

Set a new user variable name as classpath and give the variable value where your servlet-api.jar file is located (applicable for tomcat webserver), for example:->

variablename: classpath

variablevalue: D:\Tomcat\lib\servlet-api.jar

Now you can run your disassembler to find out the servlet class and interface information




回答3:


If you are not able to load the servlet package, try setting the environment variable CLASSPATH to .;C:\tomcat\common\lib\servlet-api.jar. That should help.




回答4:


Ok!.. i bought a new laptop and was faced the same problem, well i hope this would fix the issue on your windows 10 device as well.

First of all know that the error is just due to incorrect or incomplete path or classpath. After Installing Tomcat and JDK set the environment variable as follows(Location may vary as per your installation):

JAVA_HOME = C:\Program Files (x86)\Java\jdk1.7.0_80

JRE_HOME = C:\Program Files (x86)\Java\jre7

CATALINA_HOME = C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0

PATH = C:\Program Files (x86)\Java\jdk1.7.0_80\bin; C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\bin;

CLASSPATH = C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar; C:\Program Files (x86)\Java\jdk1.7.0_80\lib\tools.jar; JAVA_HOME\lib

make sure that your classpath directs the mentioned jar files, as javax is included in it(try using winrar for checking the inner contents).

After saving the setting, Test using javap javax.servlet.Servlet

Well if you still face any issue please share the error message and screenshot.




回答5:


Probably because Tomcat is not in the Java Build Path. Try add Tomcat to your library

1) Right-click on your project folder > Build Path > Configure Build Path

2) Click on Library tab > click Add Library button

3) Select Server Runtime > click Next button

4) Select your server > click Finish button



来源:https://stackoverflow.com/questions/4654122/processing-java-servlet-javax-servlet-package-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!