costin 02/01/23 15:26:04 Modified: src/share/org/apache/tomcat/util IntrospectionUtils.java Log: Check for tools.jar existence and try java.home/lib/tools.jar too, for the few vms using a 'strange' layout or setting java.home to JAVA_HOME. Revision Changes Path 1.16 +22 -4 jakarta-tomcat/src/share/org/apache/tomcat/util/IntrospectionUtils.java Index: IntrospectionUtils.java =================================================================== RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/IntrospectionUtils.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- IntrospectionUtils.java 20 Sep 2001 03:46:32 -0000 1.15 +++ IntrospectionUtils.java 23 Jan 2002 23:26:04 -0000 1.16 @@ -185,7 +185,10 @@ if( path.endsWith( jarName ) ) { home=path.substring( 0, path.length() - jarName.length() ); try { - File f=new File( home ); + if( "".equals(home) ) { + home=new File("./").getCanonicalPath(); + } + File f=new File( home ); File f1=new File ( f, ".."); install = f1.getCanonicalPath(); if( installSysProp != null ) @@ -472,9 +475,24 @@ public static void addToolsJar( Vector v ) { try { - v.addElement( new URL( "file", "" , - System.getProperty( "java.home" ) + - "/../lib/tools.jar")); + // Add tools.jar in any case + File f=new File( System.getProperty( "java.home" ) + + "/../lib/tools.jar"); + + if( ! f.exists() ) { + // On some systems java.home gets set to the root of jdk. + // That's a bug, but we can work around and be nice. + f=new File( System.getProperty( "java.home" ) + + "/lib/tools.jar"); + if( f.exists() ) { + System.out.println("Detected strange java.home value " + + System.getProperty( "java.home" ) + + ", it should point to jre"); + } + } + URL url=new URL( "file", "" , f.getAbsolutePath() ); + + v.addElement( url ); } catch ( MalformedURLException ex ) { ex.printStackTrace(); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>