RFR: 8080608: Missing archive name from jdeps -v -e output if no dependency on other JAR

Daniel Fuchs daniel.fuchs at oracle.com
Tue May 19 17:02:56 UTC 2015


Hi,

Please find below a patch for jdeps:

http://cr.openjdk.java.net/~dfuchs/webrev_8080608/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8080608

The issue is described in JDK-8080608 as follows:

I have 2 jars:

   indirect2.jar:
        class use.indirect2.UseUnsafeIndirectly2 {
             static Object obj = new use.unsafe.UseUnsafeClass();
        }

   unsafe.jar:
        class use.unsafe.UseUnsafeClass {
             static Object unsafe = Unsafe.getUnsafe();
        }
        class use.unsafe.UseClassWithUnsafe {
             static Object obj = new UseUnsafeClass()
        }

When I run:

    jdeps -v -e use.unsafe.UseUnsafeClass indirect2.jar unsafe.jar

it prints:

indirect2.jar -> dist/unsafe.jar
    use.indirect2.UseUnsafeIndirectly2 -> use.unsafe.UseUnsafeClass 
unsafe.jar
    use.unsafe.UseClassWithUnsafe -> use.unsafe.UseUnsafeClass unsafe.jar

as if use.unsafe.UseClassWithUnsafe was contained in indirect2.jar,
while it is in fact contained in unsafe.jar...


The fix will make sure that jdeps prints instead:

indirect2.jar -> dist/unsafe.jar
    use.indirect2.UseUnsafeIndirectly2 -> use.unsafe.UseUnsafeClass 
unsafe.jar
unsafe.jar -> dist/unsafe.jar
    use.unsafe.UseClassWithUnsafe -> use.unsafe.UseUnsafeClass unsafe.jar

best regards,

-- daniel



More information about the core-libs-dev mailing list