Вы сталкиваетесь с java.lang.TypeNotPresentException : введите javax.xml.bind.JAXBContext исключение не присутствует ?
Сегодня во время работы моего сервиса RESTful на Eclipse я заметил javax.xml.bind.JAXBContext ошибка в моей консоли затмения . С прошлого года та же самая программа работала без проблем.
Я начал думать об изменениях, произошедших в моей местной среде . С прошлого года не было никакой проверки кода, поэтому я подумал, что это в основном из-за моего последнего обновления Java 11.
Как вы видите в предыдущем разделе « Все о Java 11» , в нем больше нет поддержки модулей Java EE . Java 11 убрал поддержку java.xml.bind — который определяет API Java для связывания XML (JAXB).
Ее полный стек-след:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
декабрь 14 , 2018 1: 23: 19 PM ком . солнце. Джерси. api . ядро. сервлет. WebAppResourceConfig INIT
ИНФОРМАЦИЯ : Сканирование для корневой ресурс и классы провайдера в Веб — приложение путь ресурсов:
/ WEB — INF / lib
/ WEB — INF / классы
декабрь 14 , 2018 1: 23: 20 PM ком . солнце. Джерси. сервер . импл . приложение . WebApplicationImpl _initiate
ИНФОРМАЦИЯ : Инициирование заявки на Джерси , версия 'Джерси: 1.17.1 28.02.2013 12:47'
декабрь 14 , 2018 1: 23: 20 PM орг . апач . каталина . ядро. журнал ApplicationContext
ТЯЖЕЛАЯ : StandardWrapper . Throwable
Java. яз. TypeNotPresentException : Введите Javax . XML. привязывать. JAXBContext нет подарок
в Яве . база / солнце . отражать. дженерики. завод. CoreReflectionFactory . makeNamedType ( CoreReflectionFactory . java : 117 )
в Яве . база / солнце . отражать. дженерики. гость. Reifier . visitClassTypeSignature ( Reifier . Java : 125 )
в Яве . база / солнце . отражать. дженерики. дерево. ClassTypeSignature . принять ( ClassTypeSignature . Java : 49 )
в Яве . база / солнце . отражать. дженерики. гость. Reifier . reifyTypeArguments ( Reifier . Java : 68 )
в Яве . база / солнце . отражать. дженерики. гость. Reifier . visitClassTypeSignature ( Reifier . Java : 138 )
в Яве . база / солнце . отражать. дженерики. дерево. ClassTypeSignature . принять ( ClassTypeSignature . Java : 49 )
в Яве . база / солнце . отражать. дженерики. хранилище . ClassRepository . computeSuperInterfaces ( ClassRepository . Java : 117 )
в Яве . база / солнце . отражать. дженерики. хранилище . ClassRepository . getSuperInterfaces ( ClassRepository . java : 95 )
в Яве . база / Java . яз. Класс. getGenericInterfaces ( Класс . Java : 1138 )
на ком . солнце. Джерси. ядро. отражение. ReflectionHelper . getClass ( ReflectionHelper . Java : 533 )
на ком . солнце. Джерси. ядро. отражение. ReflectionHelper . getClass ( ReflectionHelper . Java : 529 )
на ком . солнце. Джерси. ядро. spi . завод. ContextResolverFactory . getParameterizedType ( ContextResolverFactory . java : 202 )
на ком . солнце. Джерси. ядро. spi . завод. ContextResolverFactory . init ( ContextResolverFactory . java : 89 )
в орг . апач . каталина . Util. LifecycleBase . начало ( LifecycleBase . Java : 183 )
в орг . апач . каталина . ядро. StandardServer . startInternal ( StandardServer . Java : 801 )
в орг . апач . каталина . Util. LifecycleBase . начало ( LifecycleBase . Java : 183 )
в орг . апач . каталина . запуск . Каталина. начало ( Каталина . Ява : 695 )
в Яве . база / JDK . внутренний . отражать. NativeMethodAccessorImpl . invoke0 ( Native Метод )
в Яве . база / JDK . внутренний . отражать. NativeMethodAccessorImpl . invoke ( NativeMethodAccessorImpl . Java : 62 )
в Яве . база / JDK . внутренний . отражать. DelegatingMethodAccessorImpl . invoke ( DelegatingMethodAccessorImpl . java : 43 )
в Яве . база / Java . яз. отражать. Метод. invoke ( Метод . Java : 566 )
в орг . апач . каталина . запуск . Бутстрап . начало ( Bootstrap . Java : 350 )
в орг . апач . каталина . запуск . Бутстрап . main ( Bootstrap . Java : 492 )
Вызванный: Java. яз. ClassNotFoundException : javax. XML. привязывать. JAXBContext
в орг . апач . каталина . погрузчик. WebappClassLoaderBase . loadClass ( WebappClassLoaderBase . java : 1328 )
в орг . апач . каталина . погрузчик. WebappClassLoaderBase . loadClass ( WebappClassLoaderBase . java : 1157 )
в Яве . база / Java . яз. Класс. forName0 ( Native Метод )
в Яве . база / Java . яз. Класс. forName ( Класс . Java : 398 )
в Яве . база / солнце . отражать. дженерики. завод. CoreReflectionFactory . makeNamedType ( CoreReflectionFactory . java : 114 )
, , , 59 Больше
|
И это причина, по которой я стал выше исключения. Пакет Java 11 для javax.xml.bind больше не существует
- Версия Java 7 : включена и работает
- Версия Java 8 : включена и работает
- Версия Java 9: устарела
- Версия Java 10 : устарела
- Версия Java 11: удалено
Чтобы решить эту проблему, вам нужно вручную добавить ниже зависимости JAXB Maven в ваш проект.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
< зависимость >
< groupId > ком . солнце. XML. bind < / groupId >
< artifactId > jaxb — core < / artifactId >
< версия > 2.3.0.1 < / версия >
< / зависимость >
< зависимость >
< groupId > javax . XML. bind < / groupId >
< artifactId > jaxb — api < / artifactId >
< версия > 2.3.1 < / версия >
< / зависимость >
< зависимость >
< groupId > ком . солнце. XML. bind < / groupId >
< artifactId > jaxb — impl < / artifactId >
< версия > 2.3.1 < / версия >
< / зависимость >
|
Вот мой полный файл pom.xml, если требуется:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
< project xmlns = http://maven.apache.org/POM/4.0.0
xmlns : xsi = http://www.w3.org/2001/XMLSchema-instance
xsi : schemaLocation = http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd >
< modelVersion > 4.0.0 < / modelVersion >
< groupId > CrunchifyRESTfulServiceVersion < / groupId >
< artifactId > CrunchifyRESTfulServiceVersion < / artifactId >
< версия > 0.0.1 — SNAPSHOT < / версия >
< упаковка > война < / упаковка >
< build >
< sourceDirectory > src < / sourceDirectory >
< плагины >
< плагин >
< artifactId > maven — компилятор — плагин < / artifactId >
< версия > 3.8.0 < / версия >
< конфигурация >
< release > 10 < / release >
< / configuration >
< / plugin >
< плагин >
< artifactId > maven — война — плагин < / artifactId >
< версия > 3.2.1 < / версия >
< конфигурация >
< warSourceDirectory > WebContent < / warSourceDirectory >
< / configuration >
< / plugin >
< / plugins >
< / build >
< зависимости >
< зависимость >
< groupId > ком . солнце. XML. bind < / groupId >
< artifactId > jaxb — core < / artifactId >
< версия > 2.3.0.1 < / версия >
< / зависимость >
< зависимость >
< groupId > javax . XML. bind < / groupId >
< artifactId > jaxb — api < / artifactId >
< версия > 2.3.1 < / версия >
< / зависимость >
< зависимость >
< groupId > ком . солнце. XML. bind < / groupId >
< artifactId > jaxb — impl < / artifactId >
< версия > 2.3.1 < / версия >
< / зависимость >
< / зависимости >
< / project >
|
Попробуйте очистить проект Eclipse и попробуйте снова запустить сервер Tomcat . Вы не должны видеть эту проблему больше.
Удачного кодирования, и дайте мне знать, если вы все еще сталкиваетесь с этим исключением после добавления вышеуказанных зависимостей Maven
0.00 (0%) 0 votes







