eclipse helios: tomcat project - jar will not be exported or published. runtime ClassNotFoundExceptions may result
eclipse, java, netbeans
Solution
It can be about:
- a simple refresh issue:
Can you switch to the navigator view, right-click refresh the project, make sure it's not in the `LIB` dir, Then try and drag and drop the JAR into the `lib` dir and see if it shows up.
- a process issue (from this cached blog entry, the original one being unavailable):
When you have total control of you web container/app server, deploying jar files is as easy as dropping the folder in your common lib folder. If you don't package your web apps as a `war` file then it's even easier because you only have to drop the jars in the `WEB-INF/lib` folder of your webapp. But if you don't have total control of your web server or application server, your only choice is to package the jars you've used with your war file.
While developing a web project using my recently developed utility(a jar file), I encountered a `NoClassDefFound` error. Of course, it's pretty obvious that the jar file I've made and using on my web project could not be found (not visible in the `CLASSPATH`). Adding the jar to the build path only eliminated the compilation problem. Dragging the jar file into the lib folder of my Eclipse workspace isn't a very good idea. It took me a couple of hours before I figured out the solution:
- Right Click on your web project
- Click Properties
- Select J2EE 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).
And everything should be fine. I tried exporting to a war file and then checked the content and my jar files are indeed deployed with the war.
- a project configuration issue
The OP ufk mentions in the comment:
I resolved the issue by:
- adding a "Web App Libraries" library in "java build path" and
- adding all the relevant jars into `WebContent/WEB-INF/lib`
Problem
I'm using Eclipse Helios and I was wondering how can I add a library project to my folder that will be copied to the build directory where my compiled project resides. currently I did the following: - created a lib directory in the root of my project - copied the relevant jars to that dir - My Project -> properties -> Java Build Path -> add jars and I added all the jars from that directory. after adding all the jars i got the following warning regarding each of the jar file: ``` jar will not be exported or published. runtime ClassNotFoundExceptions may result ``` first of all how can I add the directory of the jars instead of individual jars? and the 2nd question is how can I do that the libraries will be deployed properly when compiling my application ?!