--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java Wed Oct 05 18:41:43 2016 -0700
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java Wed Oct 05 18:42:23 2016 -0700
@@ -438,7 +438,10 @@
cf = reader.readClassFile(jf, nextEntry);
return true;
} catch (ClassFileError | IOException ex) {
- skippedEntries.add(nextEntry.getName());
+ skippedEntries.add(String.format("%s: %s (%s)",
+ ex.getMessage(),
+ nextEntry.getName(),
+ jf.getName()));
}
nextEntry = nextEntry();
}
--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java Wed Oct 05 18:41:43 2016 -0700
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/JdepsTask.java Wed Oct 05 18:42:23 2016 -0700
@@ -605,11 +605,12 @@
boolean ok = analyzer.run(options.compileTimeView, options.depth);
// print skipped entries, if any
- analyzer.archives()
- .forEach(archive -> archive.reader()
- .skippedEntries().stream()
- .forEach(name -> warning("warn.skipped.entry",
- name, archive.getPathName())));
+ if (!options.nowarning) {
+ analyzer.archives()
+ .forEach(archive -> archive.reader()
+ .skippedEntries().stream()
+ .forEach(name -> warning("warn.skipped.entry", name)));
+ }
if (options.findJDKInternals && !options.nowarning) {
Map<String, String> jdkInternals = new TreeMap<>();
--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Wed Oct 05 18:41:43 2016 -0700
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Wed Oct 05 18:42:23 2016 -0700
@@ -181,6 +181,7 @@
err.multirelease.version.associated=class {0} already associated with version {1}, trying to add version {2}
err.multirelease.jar.malformed=malformed multi-release jar, {0}, bad entry: {1}
warn.invalid.arg=Path does not exist: {0}
+warn.skipped.entry={0}
warn.split.package=package {0} defined in {1} {2}
warn.replace.useJDKInternals=\
JDK internal APIs are unsupported and private to JDK implementation that are\n\