I have recently migrated a Java Client project to a Java Server project, using Tomcat, I have found that project library dependencies may be broken.
Ordinarily I include the Libraries into the Java Build Path via the Eclipse menu option. I store the Libraries in the project \lib
folder.
When I do this via a Tomcat server build I get errors on the library objects. I understand that you may need to load the libraries separately via;
Class.forName(classString);
However when I do this a NoClassDefFoundError
exception is thrown. So I figure I'm loading the dependencies wrong. But how do I do that via Eclipse & Tomcat?
I should also mention that I am using the "Run On Server" feature of eclipse, just in case this changes anything regarding different requirements for running in Eclipse and deployment.
Apart from the whole eclipse aspect: As you mention tomcat and a server project: You probably have a web application. Web applications, when deployed, include all the
jar
-files that are contained inWEB-INF/lib
at runtime.When everything works at compile time, eclipse is happy with the setup. When you get the NoClassDevFoundError at runtime (in tomcat), you most likely need to give tomcat a hint where to find the jar files. And that will be
WEB-INF/lib