Win a copy of Practical SVG this week in the HTML/CSS/JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Where to put jar files

 
Andrew Cleland
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have just started with Java, using 1.4.2, in windows. I have a couple of questions about where 3rd party jar files should be placed.

I am using iText, a set of java classes to create PDF files. Now to get my programs to compile, I placed the itext-1.3.jar file in the same folder as my java source file. Now I know that is definitely not the place to really put it. Should I create a seperate folder solely for itext, or do I put the jar file under the jre folder under the j2sdk folder, or some other place.

2nd Question: To get my java code to compile, I copied servlet.jar to my local folder, as it does not seem to be in the jre path. Is servlet.jar part of j2SDK1.4.2, and I just wasn't setting it up correctly. Or did I have to download it, and where should it be placed, in which folder?

Thank you

Andrew
 
Joel McNary
Bartender
Posts: 1840
Eclipse IDE Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I create a lib folder and place my .jars in there. (C:\user\java\lib\ is where mine is...) Then, I set the CLASSPATH to include the .jars in that directory. (Note that you have to specify each .jar explicitely in the CLASSPATH; specifying the lib directory is not sufficient.)

As far as your second questions, no, servlet.jar is not part of the J2SDK -- it's part of the J2EESDK. If you need to use it in a non-J2EE application, then yes, you need to include it manually.
 
Thomas Paul
mister krabs
Ranch Hand
Posts: 13974
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Some people like to put their jar files in C:\java\jre\lib\ext

jar files in there are automatically added to the classpath.
 
Steven Bell
Ranch Hand
Posts: 1071
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Not sure what you're using for development in terms of IDE. Assuming you are using and IDE this is what I do.

Create a lib directory inside the project directory, by sructure looks like:


In the lib directory goes the jar I'm using, if a jar requires other jars I create a subdir for that (just for me to keep things straight in case I want to add/remove/change something).

During development let the IDE handle the classpath issues for compilation. When you get ready to release create a manifest file setting all the jars in the lib directory. When you do a release you can create a jar from source and put it and the lib directory into a zip. The user then only has to unzip and doubleclick the jar. Of course there are more elegant, though more difficult, installation methods.

If you are using a text editor dealing with the classpath becomes more tedious.

I tend to stay away from putting jars into the java\jre\lib\ext folder. It keep me from running into the problem of 'works on my dev machine, but not anywhere else'.
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!