[
http://issues.apache.org/jira/browse/DERBY-668?page=comments#action_12368214 ]
Bryan Pendleton commented on DERBY-668:
---------------------------------------
Regarding Dan's most recent comment, about the Windows-specific path
formatting, the suggestion does not seem to work for me, unfortunately:
C:\bryan\src\java\urlloc>type x.java
public class x
{
public static void main(String []args)
throws Exception
{
java.net.URL result = (new x()).getClass().
getProtectionDomain().getCodeSource().getLocation();
System.out.println("proto=" + result.getProtocol());
System.out.println("path=" + result.getPath());
System.out.println("toString=" + result.toString());
}
}
C:\bryan\src\java\urlloc>java -cp . x
proto=file
path=/C:/bryan/src/java/urlloc/
toString=file:/C:/bryan/src/java/urlloc/
> SysInfo does not print the right information when Derby is not loaded through
> the classpath.
> --------------------------------------------------------------------------------------------
>
> Key: DERBY-668
> URL: http://issues.apache.org/jira/browse/DERBY-668
> Project: Derby
> Type: Bug
> Components: Build tools
> Versions: 10.1.1.0
> Reporter: Bryan Pendleton
> Assignee: Bryan Pendleton
> Priority: Critical
> Attachments: Derby-668.diff, derby-668-2.diff, derby-668-3.diff,
> derby-668-4.diff, sysinfo_Feb27_2006.diff
>
> There is a section in the SysInfo tool's output titled "Derby Information",
> which prints location and version information for the major Derby jars. Here
> is an example of that output:
> --------- Derby Information --------
> JRE - JDBC: J2SE 1.4.2 - JDBC 3.0
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derby.jar] 10.2.0.0
> alpha - (315052M)
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derbytools.jar]
> 10.2.0.0 alpha - (315052M)
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derbynet.jar]
> 10.2.0.0 alpha - (315052M)
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derbyclient.jar]
> 10.2.0.0 alpha - (315052M)
> [/home/bpendleton/downloads/derby/db2jcc/lib/db2jcc.jar] 2.4 - (17)
> [/home/bpendleton/downloads/derby/db2jcc/lib/db2jcc_license_c.jar] 2.4 - (17)
> Unfortunately, this tool can be fooled if you arrange for one of these jar
> files to be loaded from a magic location like $JAVA_HOME/jre/lib/ext.
> For example, I had (accidentally) placed an old version of db2jcc.jar into
> $JAVA_HOME/jre/lib/ext. When I ran SysInfo, it printed out:
> --------- Derby Information --------
> JRE - JDBC: J2SE 1.4.2 - JDBC 3.0
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derby.jar] 10.2.0.0
> alpha - (315052M)
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derbytools.jar]
> 10.2.0.0 alpha - (315052M)
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derbynet.jar]
> 10.2.0.0 alpha - (315052M)
> [/home/bpendleton/src/derby-subversion/trunk/jars/insane/derbyclient.jar]
> 10.2.0.0 alpha - (315052M)
> [/home/bpendleton/downloads/derby/db2jcc/lib/db2jcc.jar] 1.0 - (581)
> [/home/bpendleton/downloads/derby/db2jcc/lib/db2jcc_license_c.jar] 1.0 - (581)
> However, the "1.0 (581)" information actually came from
> $JAVA_HOME/jre/lib/ext/db2jcc.jar, NOT from
> /home/bpendleton/downloads/derby/db2jcc/lib/db2jcc.jar.
> It would be nice if SysInfo could detect the difference between a jar file
> being loaded via the application class loader using $CLASSPATH, and a jar
> file being loaded via the system class loader using JDK library extensions.
> To reproduce the problem, simply:
> 1) Place an older version of db2jcc.jar into $JAVA_HOME/jre/lib/ext
> 2) Place a newer version of db2jcc.jar into your $CLASSPATH
> 3) Run SysInfo. You will see that it prints the name of the jarfile from
> $CLASSPATH, but the version info from the JDK copy.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira