Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
Python and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for 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
A502 - Web Application Deployment - Java - Basic Tools
  [4412] Java -making sure you have the right versions - (2015-02-02)
  [3819] Packing a tar, jar or war file - best practise - (2012-07-26)
  [3151] Disassembling Python and Java - previously compiled code - (2011-01-29)
  [2859] Using java, javac, jar, and CLASSPATH - a simple example - (2010-07-07)
  [2422] Looking inside Java classes - javap and javadoc - (2009-09-25)
  [2153] Class Loading and Variable Conversion in Java - (2009-05-02)
  [1771] More HowTo diagrams - MySQL, Tomcat and Java - (2008-08-24)
  [1562] Java Compiler - needs all classes, compiles them all too - (2008-03-03)
  [1192] What are WEB-INF and META-INF directories? - (2007-05-18)
  [1082] Straight from the .jar - (2007-02-16)
  [754] tar, jar, war, ear, sar files - (2006-06-10)

A653 - Web Application Deployment - Tomcat - Configuring Web Applications
  [3996] Tips on Tomcat - moving applications around - (2013-02-05)
  [3044] Changing a Servlet - more that just editing and compiling - (2010-11-12)
  [2088] Changing the 404 - file not found - page in Tomcat - (2009-03-18)
  [1564] Default file (MiMe types) for Apache httpd and Apache Tomcat - (2008-03-04)
  [1552] Extra public classes in deploying Apache httpd and Tomcat - (2008-02-24)
  [1074] Java beans and classes, .war and .jar files - (2007-02-10)
  [1006] Apache httpd and Apache Tomcat together tips - (2006-12-24)
  [479] New servlet from old - (2005-10-28)
  [465] Changing Tomcat's web.xml and reloading a web application - (2005-10-15)

J901 - Java - Servlets
  [4432] Java web application for teaching - now with sessions and clustering / load balancing demonstrations - (2015-02-20)
  [3997] Servlet v JSP (Java Server Page). What is the difference? - (2013-02-06)
  [2652] Reading and writing cookies in Java Servlets and JSPs - (2010-02-26)

J906 - Java - Servlets in More Detail
  [4431] A Java servlet that is also a stand alone program. And a server that is also a web client. - (2015-02-19)
  [3293] Distributing the server load - yet ensuring that each user return to the same system (Apache httpd and Tomcat) - (2011-05-18)
  [2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
  [2183] Servlet life cycle, and Java Servlet variable scope - (2009-05-16)
  [1550] Java (JSP and Servlet examples) live on our server - (2008-02-23)
  [1495] Single login and single threaded models - Java and PHP - (2008-01-04)


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., 2019: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/1909_jav ... solve.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat