Re: How does Tomcat set the classpath???
> From: "Brandon Cruz" <[EMAIL PROTECTED]> > Sent: Wednesday, January 29, 2003 7:24 AM > Subject: How does Tomcat set the classpath??? > I notice that tomcat 4.1.x explicitly sets $JAVA_HOME/lib/tools.jar and the > bootstrap.jar file to the classpath, but that seems it. It overwrites any > other classpath settings that may be part of the system. How does the > compiler know to search for things like $JAVA_HOME/jre/lib/rt.jar? Are > these automatically added based on the folder they are in within the > $JAVA_HOME? I don't see anything that indicates that within the startup > scripts (catalina.sh and setclasspath.sh). $JAVA_HOME/jre/lib/rt.jar is one of the core classes for Java, and is implicit on the classpath, so it's "Always" there. Other JAR files can be placed upon the classpath automatically if you follow the Java Extension Mechanism (which essentially means placing JAR files into special parts of the JRE/JDK distribution). Regards, Will Hartung ([EMAIL PROTECTED]) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How does Tomcat set the classpath???
I'm pretty sure there are people using Tomcat with other JVM's besides Sun's. John > -Original Message- > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 12:31 PM > To: Tomcat Users List > Subject: RE: How does Tomcat set the classpath??? > > > Thanks for the info, that would seem to make sense. The real > reson for this > problem is that I'm trying to figure out why the necessary > classes in the > IBM JDK don't get loaded. I'm assuming the Bootstrap > classloader calls jar > files by name and doesn't know the names of the jar files in > the IBM JDK > since some are different than the ones in the SUN JDK. > > Just looking for confirmation on that. I'm trying to avoid > making changes > to the startup scripts to make future upgrades go smoother, but it is > starting to appear that those classpath changes to the scripts are > necessary. > > Brandon > > -Original Message- > From: Turner, John [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 10:51 AM > To: 'Tomcat Users List' > Subject: RE: How does Tomcat set the classpath??? > > > > I'm not the expert (that would be Craig or someone else with > his level of > knowledge and experience...Craig wrote the document), but I > think you are > confusing the Bootstrap ClassLoader with bootstrap.jar. > > "Bootstrap - This class loader contains the basic runtime > classes provided > by the Java Virtual Machine, plus any classes from JAR files > present in the > System Extensions directory ($JAVA_HOME/jre/lib/ext)." > > I think that means that bootstrap.jar has the Bootstrap > ClassLoader in it, > and that class loader loads the basic runtime classes > provided by the JVM, > which, in this case, would be the classes in rt.jar. I don't > think it means > that bootstrap.jar supersedes or replaces rt.jar. I'm really > hazy on the > whole concept of a "class loader" though, so take whatever I > say on the > subject with a BIG grain of salt until someone else can chime > in and correct > me if I'm wrong. > > John > > > -Original Message- > > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, January 29, 2003 11:16 AM > > To: Tomcat Users List > > Subject: RE: How does Tomcat set the classpath??? > > > > > > John, > > > > According to this document, bootstrap.jar contains the basic > > runtime classes > > provided by the Java Virtual Machine. That does not seem > > correct. In Sun's > > JDK, rt.jar contains most of the basic runtime classes. How > > does that get > > loaded? Does the VM take care of this on it's own somehow? > > > > I see also that tools.jar is loaded from $JAVA_HOME/lib, but > > still, when is > > rt.jar loaded? > > > > Brandon > > > > > > > > -Original Message- > > From: Turner, John [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, January 29, 2003 9:33 AM > > To: 'Tomcat Users List' > > Subject: RE: How does Tomcat set the classpath??? > > > > > > > > How Tomcat finds classes: > > > > http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-h > > owto.html > > > > John > > > > > -Original Message- > > > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > > > Sent: Wednesday, January 29, 2003 10:25 AM > > > To: Tomcat Users List > > > Subject: How does Tomcat set the classpath??? > > > > > > > > > I notice that tomcat 4.1.x explicitly sets > > > $JAVA_HOME/lib/tools.jar and the > > > bootstrap.jar file to the classpath, but that seems it. It > > > overwrites any > > > other classpath settings that may be part of the system. > > How does the > > > compiler know to search for things like > > > $JAVA_HOME/jre/lib/rt.jar? Are > > > these automatically added based on the folder they are in > within the > > > $JAVA_HOME? I don't see anything that indicates that within > > > the startup > > > scripts (catalina.sh and setclasspath.sh). > > > > > > Any info would be appreciated. > > > > > > Brandon > > > > > > > > > > > > - > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > >
RE: How does Tomcat set the classpath???
Thanks for the info, that would seem to make sense. The real reson for this problem is that I'm trying to figure out why the necessary classes in the IBM JDK don't get loaded. I'm assuming the Bootstrap classloader calls jar files by name and doesn't know the names of the jar files in the IBM JDK since some are different than the ones in the SUN JDK. Just looking for confirmation on that. I'm trying to avoid making changes to the startup scripts to make future upgrades go smoother, but it is starting to appear that those classpath changes to the scripts are necessary. Brandon -Original Message- From: Turner, John [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 10:51 AM To: 'Tomcat Users List' Subject: RE: How does Tomcat set the classpath??? I'm not the expert (that would be Craig or someone else with his level of knowledge and experience...Craig wrote the document), but I think you are confusing the Bootstrap ClassLoader with bootstrap.jar. "Bootstrap - This class loader contains the basic runtime classes provided by the Java Virtual Machine, plus any classes from JAR files present in the System Extensions directory ($JAVA_HOME/jre/lib/ext)." I think that means that bootstrap.jar has the Bootstrap ClassLoader in it, and that class loader loads the basic runtime classes provided by the JVM, which, in this case, would be the classes in rt.jar. I don't think it means that bootstrap.jar supersedes or replaces rt.jar. I'm really hazy on the whole concept of a "class loader" though, so take whatever I say on the subject with a BIG grain of salt until someone else can chime in and correct me if I'm wrong. John > -Original Message- > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 11:16 AM > To: Tomcat Users List > Subject: RE: How does Tomcat set the classpath??? > > > John, > > According to this document, bootstrap.jar contains the basic > runtime classes > provided by the Java Virtual Machine. That does not seem > correct. In Sun's > JDK, rt.jar contains most of the basic runtime classes. How > does that get > loaded? Does the VM take care of this on it's own somehow? > > I see also that tools.jar is loaded from $JAVA_HOME/lib, but > still, when is > rt.jar loaded? > > Brandon > > > > -Original Message- > From: Turner, John [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 9:33 AM > To: 'Tomcat Users List' > Subject: RE: How does Tomcat set the classpath??? > > > > How Tomcat finds classes: > > http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-h > owto.html > > John > > > -Original Message- > > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, January 29, 2003 10:25 AM > > To: Tomcat Users List > > Subject: How does Tomcat set the classpath??? > > > > > > I notice that tomcat 4.1.x explicitly sets > > $JAVA_HOME/lib/tools.jar and the > > bootstrap.jar file to the classpath, but that seems it. It > > overwrites any > > other classpath settings that may be part of the system. > How does the > > compiler know to search for things like > > $JAVA_HOME/jre/lib/rt.jar? Are > > these automatically added based on the folder they are in within the > > $JAVA_HOME? I don't see anything that indicates that within > > the startup > > scripts (catalina.sh and setclasspath.sh). > > > > Any info would be appreciated. > > > > Brandon > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How does Tomcat set the classpath???
I'm not the expert (that would be Craig or someone else with his level of knowledge and experience...Craig wrote the document), but I think you are confusing the Bootstrap ClassLoader with bootstrap.jar. "Bootstrap - This class loader contains the basic runtime classes provided by the Java Virtual Machine, plus any classes from JAR files present in the System Extensions directory ($JAVA_HOME/jre/lib/ext)." I think that means that bootstrap.jar has the Bootstrap ClassLoader in it, and that class loader loads the basic runtime classes provided by the JVM, which, in this case, would be the classes in rt.jar. I don't think it means that bootstrap.jar supersedes or replaces rt.jar. I'm really hazy on the whole concept of a "class loader" though, so take whatever I say on the subject with a BIG grain of salt until someone else can chime in and correct me if I'm wrong. John > -Original Message- > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 11:16 AM > To: Tomcat Users List > Subject: RE: How does Tomcat set the classpath??? > > > John, > > According to this document, bootstrap.jar contains the basic > runtime classes > provided by the Java Virtual Machine. That does not seem > correct. In Sun's > JDK, rt.jar contains most of the basic runtime classes. How > does that get > loaded? Does the VM take care of this on it's own somehow? > > I see also that tools.jar is loaded from $JAVA_HOME/lib, but > still, when is > rt.jar loaded? > > Brandon > > > > -Original Message- > From: Turner, John [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 9:33 AM > To: 'Tomcat Users List' > Subject: RE: How does Tomcat set the classpath??? > > > > How Tomcat finds classes: > > http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-h > owto.html > > John > > > -Original Message- > > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > > Sent: Wednesday, January 29, 2003 10:25 AM > > To: Tomcat Users List > > Subject: How does Tomcat set the classpath??? > > > > > > I notice that tomcat 4.1.x explicitly sets > > $JAVA_HOME/lib/tools.jar and the > > bootstrap.jar file to the classpath, but that seems it. It > > overwrites any > > other classpath settings that may be part of the system. > How does the > > compiler know to search for things like > > $JAVA_HOME/jre/lib/rt.jar? Are > > these automatically added based on the folder they are in within the > > $JAVA_HOME? I don't see anything that indicates that within > > the startup > > scripts (catalina.sh and setclasspath.sh). > > > > Any info would be appreciated. > > > > Brandon > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How does Tomcat set the classpath???
> -Original Message- > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > According to this document, bootstrap.jar contains the basic > runtime classes > provided by the Java Virtual Machine. That does not seem > correct. In Sun's > JDK, rt.jar contains most of the basic runtime classes. How > does that get > loaded? Does the VM take care of this on it's own somehow? If you are referring to the chicken-and-egg problem of the classloader loading itself, it's because the JVM contains what it needs to load itself internally. Edmund - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How does Tomcat set the classpath???
John, According to this document, bootstrap.jar contains the basic runtime classes provided by the Java Virtual Machine. That does not seem correct. In Sun's JDK, rt.jar contains most of the basic runtime classes. How does that get loaded? Does the VM take care of this on it's own somehow? I see also that tools.jar is loaded from $JAVA_HOME/lib, but still, when is rt.jar loaded? Brandon -Original Message- From: Turner, John [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 29, 2003 9:33 AM To: 'Tomcat Users List' Subject: RE: How does Tomcat set the classpath??? How Tomcat finds classes: http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html John > -Original Message- > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 10:25 AM > To: Tomcat Users List > Subject: How does Tomcat set the classpath??? > > > I notice that tomcat 4.1.x explicitly sets > $JAVA_HOME/lib/tools.jar and the > bootstrap.jar file to the classpath, but that seems it. It > overwrites any > other classpath settings that may be part of the system. How does the > compiler know to search for things like > $JAVA_HOME/jre/lib/rt.jar? Are > these automatically added based on the folder they are in within the > $JAVA_HOME? I don't see anything that indicates that within > the startup > scripts (catalina.sh and setclasspath.sh). > > Any info would be appreciated. > > Brandon > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How does Tomcat set the classpath???
How Tomcat finds classes: http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html John > -Original Message- > From: Brandon Cruz [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 29, 2003 10:25 AM > To: Tomcat Users List > Subject: How does Tomcat set the classpath??? > > > I notice that tomcat 4.1.x explicitly sets > $JAVA_HOME/lib/tools.jar and the > bootstrap.jar file to the classpath, but that seems it. It > overwrites any > other classpath settings that may be part of the system. How does the > compiler know to search for things like > $JAVA_HOME/jre/lib/rt.jar? Are > these automatically added based on the folder they are in within the > $JAVA_HOME? I don't see anything that indicates that within > the startup > scripts (catalina.sh and setclasspath.sh). > > Any info would be appreciated. > > Brandon > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
How does Tomcat set the classpath???
I notice that tomcat 4.1.x explicitly sets $JAVA_HOME/lib/tools.jar and the bootstrap.jar file to the classpath, but that seems it. It overwrites any other classpath settings that may be part of the system. How does the compiler know to search for things like $JAVA_HOME/jre/lib/rt.jar? Are these automatically added based on the folder they are in within the $JAVA_HOME? I don't see anything that indicates that within the startup scripts (catalina.sh and setclasspath.sh). Any info would be appreciated. Brandon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]