java.lang.NoClassDefFoundError: javax / активации / DataContentHandler - PullRequest
0 голосов
/ 23 января 2019

Я разрабатываю веб-приложение с использованием движка приложений Google и maven в IntelliJ IDEA.

Пока все хорошо, пока я не попытался отправить электронное письмо с помощью javax.mail, и я получил эту ошибку:

java.lang.NoClassDefFoundError: javax/activation/DataContentHandler

Я уже поместил необходимые зависимости (javax.activation & javax.mail) в pom.xml, и все же эта ошибка возникает.

Один из способов исправить это локально - добавить "-add-modules java.activation "в параметрах VM, и когда я запускаю его локально, он работает нормально и отправляет электронное письмо, но когда я развертываю приложение, оно не работает.

И мой вопрос, есть лиспособ передать аргумент vm в maven или куда-либо еще, чтобы он запускался без ошибок при развертывании приложения.

Или есть ли другой способ сделать это (с javax.mail или нет)?

Моя версия Java: openjdk 10.0.2

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Просто включите модуль java.activation в свое приложение.

Вы можете использовать либо более старую версию Oracle , либо более новую версию Eclipse , что по существуто же самое.

(И вы должны рассмотреть возможность обновления до JDK 11.)

0 голосов
/ 23 января 2019

Вы можете сделать это с помощью док-контейнеров. Как правильно установить параметры JVM в гибком приложении GAE

Причина в maven: вы не можете установить параметры виртуальной машины для времени выполнения.Попытка через докер может быть ключевой.

...