Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
javax.servlet cannot be resolved - how to solve

Two common problems in compiling Servlets for use within a Tomcat container ...




PROBLEM: My Java Compile of a Servlet says "javax.servlet cannot be resolved"

For example:

[trainee@easterton sources]$ javac Smallest.java
----------
1. ERROR in Smallest.java
 (at line 2)
   import javax.servlet.*;
          ^^^^^^^^^^^^^
The import javax.servlet cannot be resolved
----------
2. ERROR in Smallest.java
 (at line 3)
   import javax.servlet.http.*;
          ^^^^^^^^^^^^^
The import javax.servlet cannot be resolved
----------
3. ERROR in Smallest.java
 (at line 5)
   public class Smallest extends HttpServlet {
                                 ^^^^^^^^^^^
HttpServlet cannot be resolved to a type
----------
4. ERROR in Smallest.java
 (at line 9)
   public void doGet(HttpServletRequest request,
                     ^^^^^^^^^^^^^^^^^^
HttpServletRequest cannot be resolved to a type
----------
5. ERROR in Smallest.java
 (at line 10)
   HttpServletResponse response)
   ^^^^^^^^^^^^^^^^^^^
HttpServletResponse cannot be resolved to a type
----------
6. ERROR in Smallest.java
 (at line 11)
   throws IOException, ServletException
                       ^^^^^^^^^^^^^^^^
ServletException cannot be resolved to a type
----------
6 problems (6 errors)[trainee@easterton sources]$



SOLUTION: Add the Servlet API to your CLASSPATH.

[trainee@easterton sources]$ export CLASSPATH=/usr/local/tomcat/common/lib/servlet-api.jar 
[trainee@easterton sources]$ javac Smallest.java
[trainee@easterton sources]$

EXPLANATION:

Even if you're just compiling a Servlet to produce a class file, on a machine on which you won't actually be running it, the Java compiler insists on having the necessary classes available to check you code / to know what it is extending.

The Servelet API jar file is available from within a standard Tomcat download, and also from within a Java Enterprise download, but it is not downloaded with the standard edition!




PROBLEM: I get an error message about "does not declare serialVersionUID"

[trainee@easterton sources]$ javac Smallest.java----------
1. WARNING in Smallest.java
 (at line 5)
   public class Smallest extends HttpServlet {
                ^^^^^^^^
The serializable class Smallest does not declare a static final serialVersionUID field of type long
----------
[trainee@easterton sources]$

SOLUTION: Check that you're using the correct Java compiler!

1 problem (1 warning)[trainee@easterton sources]$ which java
/usr/bin/java
[trainee@easterton sources]$ export PATH=/usr/local/java/bin:$PATH
[trainee@easterton sources]$ javac Smallest.java
[trainee@easterton sources]$

EXPLANATION: There are various Java Compilers available, and the one that's shipped with Linux releases is highly unlikely bo be Sun's one which you'll want to use with Servlets / Tomcat's classes.

If you have Tomcat downloaded and installed already, chances are that you do have the right compiler already on your system - if not, download it from Sun - but that your PATH to executable files is currently pointing at the one shipped with the operating system.




Learn all about these on our Deploying Apache httpd and Tomcat course!
(written 2008-11-26)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
J906 - Java - Servlets in More Detail
  [479] New servlet from old - (2005-10-28)
  [1495] Single login and single threaded models - Java and PHP - (2008-01-04)
  [1550] Java (JSP and Servlet examples) live on our server - (2008-02-23)
  [2183] Servlet life cycle, and Java Servlet variable scope - (2009-05-16)
  [2652] Reading and writing cookies in Java Servlets and JSPs - (2010-02-26)
  [2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
  [3044] Changing a Servlet - more that just editing and compiling - (2010-11-12)
  [3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat) - (2011-05-18)
  [4431] A Java servlet that is also a stand alone program. And a server that is also a web client. - (2015-02-19)
  [4432] Java web application for teaching - now with sessions and clustering / load balancing demonstrations - (2015-02-20)

J901 - Java - Servlets
  [3997] Servlet v JSP (Java Server Page). What is the difference? - (2013-02-06)

A653 - Web Application Deployment - Tomcat - Configuring Web Applications
  [465] Changing Tomcat's web.xml and reloading a web application - (2005-10-15)
  [754] tar, jar, war, ear, sar files - (2006-06-10)
  [1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
  [1074] Java beans and classes, .war and .jar files - (2007-02-10)
  [1082] Straight from the .jar - (2007-02-16)
  [1192] What are WEB-INF and META-INF directories? - (2007-05-18)
  [1552] Extra public classes in deploying Apache httpd and Tomcat - (2008-02-24)
  [1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
  [2088] Changing the 404 - file not found - page in Tomcat - (2009-03-18)
  [3996] Tips on Tomcat - moving applications around - (2013-02-05)

A502 - Web Application Deployment - Java - Basic Tools
  [1562] Java Compiler - needs all classes, compiles them all too - (2008-03-03)
  [1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
  [2153] Class Loading and Variable Conversion in Java - (2009-05-02)
  [2422] Looking inside Java classes - javap and javadoc - (2009-09-25)
  [2859] Using java, javac, jar, and CLASSPATH - a simple example - (2010-07-07)
  [3151] Disassembling Python and Java - previously compiled code - (2011-01-29)
  [3819] Packing a tar, jar or war file - best practise - (2012-07-26)
  [4412] Java -making sure you have the right versions - (2015-02-02)


Back to
Java CLASSPATH explained
Previous and next
or
Horse's mouth home
Forward to
Java - Generics
Some other Articles
Alastair Darling helps make paperwork and confusion
Book now for 2009
Remember Me - PHP
Java - Generics
javax.servlet cannot be resolved - how to solve
Java CLASSPATH explained
Melksham Hotel Rates
Long, Longer, Longest in Java
A Gold Star for First Great Western Customer Service
Ruby, Perl, Linux, MySQL - some training notes
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2021: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1909_jav ... solve.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb