Ta reguła oznacza wystąpienia użycia klasy com.sun.xml.internal.bind.v2.ContextFactory. Ta klasa wewnętrzna nie jest już dostępna w środowisku Java SE 11. Są to
pakiety wewnętrzne, które nie są przeznaczone do użytku zewnętrznego. Aby rozwiązać ten problem (jeśli aplikacja musi nadal korzystać z tej klasy), należy użyć zamiast niej klasy
com.sun.xml.bind.v2.ContextFactory i umieścić wymagane biblioteki zależności jaxb wraz z aplikacją w jednym pakiecie. Poniżej przedstawiono przykładowy plik
zależności narzędzia Maven umożliwiający pobranie biblioteki wymaganej na potrzeby używania klasy com.sun.xml.bind.v2.ContextFactory:
| <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.2.11</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.2.11</version> </dependency> |
W skanerze kodu źródłowego dostępna jest zautomatyzowana poprawka, która zastępuje odwołania do com.sun.xml.internal.bind.v2.ContextFactory w pliku com.sun.xml.bind.v2.ContextFactory. Skopiuj konfigurację niestandardową do pliku budowania aplikacji, aby włączyć automatyzację poprawek.
Więcej informacji na temat zmian w środowisku Java 11 zawiera publikacja The Java 11 Migration Guide (Podręcznik dotyczący migracji do środowiska Java 11. Więcej informacji na temat usunięcia katalogu com.sun.xml.bind zawiera Wpis JEP dotyczący usunięcia modułów Java EE i CORBA.