We are using JDK 8's new jdeps analysis tool to identify usage of JDK-internal APIs. It has been advised not to rely on any JDK-internal API (e.g. sun.* packages) since 1996. The jdeps tool along with a wiki page were created to help you migrate to use the JDK supported APIs.
Your team should plan to eliminate any dependency to JDK-internal APIs. Migrating to use the JDK supported APIs now will give your team adequate time for regression testing before the release of JDK 9. For JDK-internal APIs that your application has to depend on and there is no supported API providing equivalent functionality, we would appreciate an explanation about why and how these particular APIs, if any, are used in your application. jdeps is a static analysis tool and therefore use of JDK-internal APIs via reflection or dynamically generated bytecode are not shown in this report while such dependency should also be replaced.
Development teams can use jdeps directly to identify any use of JDK-internal APIs and update your code or components appropriately. Alternately if many development groups need something changed in the spec, we encourage participation in either OpenJDK or the Java Community Process.
We have analyzed jar files within wildfly-8.1.0.Final and found 26 jar files depend on JDK-Internal-API. Our observations are
ID | Replace Usage of | With | Inside |
---|---|---|---|
1 | org.w3c.dom.xpath.XPathEvaluator | Use javax.xml.xpath @since 1.5 |
|
2 | org.w3c.dom.xpath.XPathException | Use javax.xml.xpath @since 1.5 |
|
3 | org.w3c.dom.xpath.XPathExpression | Use javax.xml.xpath @since 1.5 |
|
4 | org.w3c.dom.xpath.XPathNSResolver | Use javax.xml.xpath @since 1.5 |
|
5 | org.w3c.dom.xpath.XPathNamespace | Use javax.xml.xpath @since 1.5 |
|
6 | org.w3c.dom.xpath.XPathResult | Use javax.xml.xpath @since 1.5 |
|
7 | sun.misc.Cleaner | Use java.lang.ref.PhantomReference @since 1.2 |
|
ID | Internal APIs requiring clarification | Are used by |
---|---|---|
1 | com.sun.org.apache.xerces.internal.parsers.DTDConfiguration |
|
Explanation if necessary... | ||
2 | com.sun.org.apache.xerces.internal.parsers.SAXParser |
|
Explanation if necessary... | ||
3 | com.sun.org.apache.xerces.internal.util.SecurityManager |
|
Explanation if necessary... | ||
4 | com.sun.org.apache.xerces.internal.xni.parser.XMLParserConfiguration |
|
Explanation if necessary... | ||
5 | com.sun.org.apache.xml.internal.resolver.Catalog |
|
Explanation if necessary... | ||
6 | com.sun.org.apache.xml.internal.resolver.CatalogManager |
|
Explanation if necessary... | ||
7 | com.sun.org.apache.xml.internal.resolver.tools.CatalogResolver |
|
Explanation if necessary... | ||
8 | org.relaxng.datatype.Datatype |
|
Explanation if necessary... | ||
9 | org.relaxng.datatype.DatatypeBuilder |
|
Explanation if necessary... | ||
10 | org.relaxng.datatype.DatatypeException |
|
Explanation if necessary... | ||
11 | org.relaxng.datatype.DatatypeLibrary |
|
Explanation if necessary... | ||
12 | org.relaxng.datatype.DatatypeLibraryFactory |
|
Explanation if necessary... | ||
13 | org.relaxng.datatype.DatatypeStreamingValidator |
|
Explanation if necessary... | ||
14 | org.relaxng.datatype.ValidationContext |
|
Explanation if necessary... | ||
15 | org.relaxng.datatype.helpers.DatatypeLibraryLoader |
|
Explanation if necessary... | ||
16 | org.relaxng.datatype.helpers.StreamingValidatorImpl |
|
Explanation if necessary... | ||
17 | org.w3c.dom.html.HTMLAnchorElement |
|
Explanation if necessary... | ||
18 | org.w3c.dom.html.HTMLAppletElement |
|
Explanation if necessary... | ||
19 | org.w3c.dom.html.HTMLAreaElement |
|
Explanation if necessary... | ||
20 | org.w3c.dom.html.HTMLBRElement |
|
Explanation if necessary... | ||
21 | org.w3c.dom.html.HTMLBaseElement |
|
Explanation if necessary... | ||
22 | org.w3c.dom.html.HTMLBaseFontElement |
|
Explanation if necessary... | ||
23 | org.w3c.dom.html.HTMLBodyElement |
|
Explanation if necessary... | ||
24 | org.w3c.dom.html.HTMLButtonElement |
|
Explanation if necessary... | ||
25 | org.w3c.dom.html.HTMLCollection |
|
Explanation if necessary... | ||
26 | org.w3c.dom.html.HTMLDListElement |
|
Explanation if necessary... | ||
27 | org.w3c.dom.html.HTMLDirectoryElement |
|
Explanation if necessary... | ||
28 | org.w3c.dom.html.HTMLDivElement |
|
Explanation if necessary... | ||
29 | org.w3c.dom.html.HTMLDocument |
|
Explanation if necessary... | ||
30 | org.w3c.dom.html.HTMLElement |
|
Explanation if necessary... | ||
31 | org.w3c.dom.html.HTMLFieldSetElement |
|
Explanation if necessary... | ||
32 | org.w3c.dom.html.HTMLFontElement |
|
Explanation if necessary... | ||
33 | org.w3c.dom.html.HTMLFormElement |
|
Explanation if necessary... | ||
34 | org.w3c.dom.html.HTMLFrameElement |
|
Explanation if necessary... | ||
35 | org.w3c.dom.html.HTMLFrameSetElement |
|
Explanation if necessary... | ||
36 | org.w3c.dom.html.HTMLHRElement |
|
Explanation if necessary... | ||
37 | org.w3c.dom.html.HTMLHeadElement |
|
Explanation if necessary... | ||
38 | org.w3c.dom.html.HTMLHeadingElement |
|
Explanation if necessary... | ||
39 | org.w3c.dom.html.HTMLHtmlElement |
|
Explanation if necessary... | ||
40 | org.w3c.dom.html.HTMLIFrameElement |
|
Explanation if necessary... | ||
41 | org.w3c.dom.html.HTMLImageElement |
|
Explanation if necessary... | ||
42 | org.w3c.dom.html.HTMLInputElement |
|
Explanation if necessary... | ||
43 | org.w3c.dom.html.HTMLIsIndexElement |
|
Explanation if necessary... | ||
44 | org.w3c.dom.html.HTMLLIElement |
|
Explanation if necessary... | ||
45 | org.w3c.dom.html.HTMLLabelElement |
|
Explanation if necessary... | ||
46 | org.w3c.dom.html.HTMLLegendElement |
|
Explanation if necessary... | ||
47 | org.w3c.dom.html.HTMLLinkElement |
|
Explanation if necessary... | ||
48 | org.w3c.dom.html.HTMLMapElement |
|
Explanation if necessary... | ||
49 | org.w3c.dom.html.HTMLMenuElement |
|
Explanation if necessary... | ||
50 | org.w3c.dom.html.HTMLMetaElement |
|
Explanation if necessary... | ||
51 | org.w3c.dom.html.HTMLModElement |
|
Explanation if necessary... | ||
52 | org.w3c.dom.html.HTMLOListElement |
|
Explanation if necessary... | ||
53 | org.w3c.dom.html.HTMLObjectElement |
|
Explanation if necessary... | ||
54 | org.w3c.dom.html.HTMLOptGroupElement |
|
Explanation if necessary... | ||
55 | org.w3c.dom.html.HTMLOptionElement |
|
Explanation if necessary... | ||
56 | org.w3c.dom.html.HTMLParagraphElement |
|
Explanation if necessary... | ||
57 | org.w3c.dom.html.HTMLParamElement |
|
Explanation if necessary... | ||
58 | org.w3c.dom.html.HTMLPreElement |
|
Explanation if necessary... | ||
59 | org.w3c.dom.html.HTMLQuoteElement |
|
Explanation if necessary... | ||
60 | org.w3c.dom.html.HTMLScriptElement |
|
Explanation if necessary... | ||
61 | org.w3c.dom.html.HTMLSelectElement |
|
Explanation if necessary... | ||
62 | org.w3c.dom.html.HTMLStyleElement |
|
Explanation if necessary... | ||
63 | org.w3c.dom.html.HTMLTableCaptionElement |
|
Explanation if necessary... | ||
64 | org.w3c.dom.html.HTMLTableCellElement |
|
Explanation if necessary... | ||
65 | org.w3c.dom.html.HTMLTableColElement |
|
Explanation if necessary... | ||
66 | org.w3c.dom.html.HTMLTableElement |
|
Explanation if necessary... | ||
67 | org.w3c.dom.html.HTMLTableRowElement |
|
Explanation if necessary... | ||
68 | org.w3c.dom.html.HTMLTableSectionElement |
|
Explanation if necessary... | ||
69 | org.w3c.dom.html.HTMLTextAreaElement |
|
Explanation if necessary... | ||
70 | org.w3c.dom.html.HTMLTitleElement |
|
Explanation if necessary... | ||
71 | org.w3c.dom.html.HTMLUListElement |
|
Explanation if necessary... | ||
72 | org.w3c.dom.ranges.DocumentRange |
|
Explanation if necessary... | ||
73 | org.w3c.dom.ranges.Range |
|
Explanation if necessary... | ||
74 | org.w3c.dom.ranges.RangeException |
|
Explanation if necessary... | ||
75 | sun.misc.Signal |
|
Explanation if necessary... | ||
76 | sun.misc.SignalHandler |
|
Explanation if necessary... | ||
77 | sun.misc.Unsafe |
|
Explanation if necessary... | ||
78 | sun.nio.cs.Surrogate |
|
Explanation if necessary... | ||
79 | sun.nio.cs.Surrogate$Parser |
|
Explanation if necessary... | ||
80 | sun.reflect.Reflection |
|
Explanation if necessary... | ||
81 | sun.reflect.ReflectionFactory |
|
Explanation if necessary... | ||
82 | sun.reflect.ReflectionFactory$GetReflectionFactoryAction |
|
Explanation if necessary... | ||
83 | sun.security.jgss.spi.GSSContextSpi |
|
Explanation if necessary... | ||
84 | sun.security.jgss.spi.GSSCredentialSpi |
|
Explanation if necessary... | ||
85 | sun.security.jgss.spi.GSSNameSpi |
|
Explanation if necessary... | ||
86 | sun.security.jgss.spi.MechanismFactory |
|
Explanation if necessary... | ||
87 | sun.tools.jconsole.Utilities |
|
Explanation if necessary... |
In addition to the above, your application might be using JDK-internal APIs that do not have direct Oracle-provided replacements. These APIs are subject to significant change or removal in JDK 9. Proper fixing may involve identifying a separate third-party library that performs this functionality.
ID | Internal API (grouped by package) | Used By | Identify External Replacement |
---|