Tomcat has suddenly started behaving rather strangely on our Linux server. I was hoping someone here could give me some insight into the reasons and some suggestions for resolving the problem. We are running Tomcat 4.1.24 on a Linux Mandrake 9.1 box.
 
I wrote a servlet on the weekend which worked on my Windows XP machine but misbehaved slightly on the Linux server when installed there. Yesterday, I figured out what the problem was and revised the servlet. The revised version worked in Windows so I tried to install it in Linux. That's when the weirdness started: I can't install the WAR file in Tomcat. It always fails on the same error:
 
java.lang.NoSuchMethodError: org.apache.commons.fileupload.FileUpload.setSizeMax(I)V
I checked the Javadocs and found that the setSizeMax() method is part of the class FileUploadBase, not FileUpload, so I immediately suspected that the Linux box had an older version of the commons fileupload jar, which only went to version 1.0 at the end of June. I searched the Linux box and found commons-fileupload.jar, which is NOT the current version, and also found commons-fileupload-1.0.jar which IS the current version. I deleted the old one and now the only version of the jar on the server is commons-fileupload-1.0.jar.
 
I tried installing the WAR file again but get the same error. I even tried installing a newer version of a different WAR file that doesn't do file uploads and IT failed on the same error. What is going on here?
 
I took a peek inside the commons-fileupload-1.0.jar and got this, which looks just fine to me:
jar tvf commons-fileupload-1.0.jar | more
     0 Wed Jun 25 23:12:04 EDT 2003 META-INF/
   420 Wed Jun 25 23:12:04 EDT 2003 META-INF/MANIFEST.MF
     0 Wed Jun 25 23:11:58 EDT 2003 org/
     0 Wed Jun 25 23:11:58 EDT 2003 org/apache/
     0 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/
     0 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/
  6020 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/DefaultFileItem.class
  1541 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/DefaultFileItemFactory.class
  1547 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/DeferredFileOutputStream.class
  2159 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/DiskFileUpload.class
   792 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileItem.class
   262 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileItemFactory.class
   811 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileUpload.class
   672 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileUploadBase$InvalidContentTypeException.class
   669 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileUploadBase$SizeLimitExceededException.class
   651 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileUploadBase$UnknownSizeException.class
  7449 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileUploadBase.class
   486 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/FileUploadException.class
   894 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/MultipartStream$IllegalBoundaryException.class
   894 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/MultipartStream$MalformedStreamException.class
  6245 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/MultipartStream.class
  1789 Wed Jun 25 23:11:58 EDT 2003 org/apache/commons/fileupload/ThresholdingOutputStream.class
  2873 Mon Feb 10 22:05:50 EST 2003 META-INF/LICENSE.txt
   121 Wed Jun 25 23:12:04 EDT 2003 META-INF/INDEX.LIST
I can't think of anything else to try at this point.
 
Any ideas anyone?
 
Rhino
---
rhino1 AT sympatico DOT ca
"If you want the best seat in the house, you'll have to move the cat."

Reply via email to