What are the different ways that java programs gain access to external libraries. There is setting a classpath, modifying the build or build path, but I’ve seen other ways of adding jars.
Why do some libraries have to be added to the classpath while others do not. For example I’m using JSF, WTP tools, and other extra libraries but they are not in my buildpath when I view the build path of my project.
The Java Build Path is just an Eclipse thing. It’s where Eclipse finds the classes needed to compile and run the classes of the project. It’s thus both th compile and the run classpath.
In the case of a webapp, the webapp runs inside a Java EE web container. The web container gives access to standard Java EE classes (javax.servlet, etc.). Moreover, all the jars in WEB-INF/classes are automatically included in the classpath of the web app. So Eclipse doesn’t need you to specify them in the Java Build Path. They’re included automatically.