Eclipse warning: XXXXXXXXXXX.jar will not be exported or published. Runtime ClassNotFoundExceptions may result

eclipse-3.6, spring-mvc

Solution

In order to get it to work right, I have to "drop and drag" the files that I want in my classpath/dependencies into my the `WEB-INF/lib` folder. It works this way.

For some reason, when I try to do it the right way

Build path → Configure build path → External jars

it just doesn't take them.

The trick is that I have to put the files int my Web App Libraries folder and the only way to do that (that I can see) is to "click and drop" into my `WEB-INF/lib` folder. In this way, it automatically shows up in my Web App Libraries.

Problem

I keep getting the following error after I put the required files in my build path on Eclipse. I am working on a Spring MVC Hello World Application and using Eclipse Helios for Java EE developers: ``` Jan 16, 2012 1:25:42 PM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /SpringMVCTutorial threw load() exception java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1062) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1010) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) ``` I have tried right-clicking the server and clicking "clean". I right click the application, click "Build Path" the "Configure Build Path" and put the right JAR files in the library; however, it still doesn't acknowledge them as dependencies. What am I missing? I have tried the advice presented here: - Right-click on your Web project - Click 'Properties' - Select 'Java EE Module Dependencies' - Click the 'Web Libraries' tab - Add external JARs (if the JAR is outside of your project). An entry will be added under Jar/Module, make sure you click on the checkbox (checked). The problem is that when I select "Click Properties", I do not have the option of clicking Java EE Module dependencies, as it doesn't appear. I downloaded any extra Java EE tools and still can't find it.

Original source

Related problems