Отсутствует активация класса DataHandler

У меня есть java-программы, которые выводят предупреждение об отсутствии javax.activation.DataHandler и javax.mail.internet.MimeMultipart
Я не уверен, для чего они используются, и не могу вспомнить добавление какого-либо конкретного кода, который может потребовать их классы.

Я понимаю, что предупреждение может быть устранено путем добавления файлов Activation.jar и mailapi.jar, но мне интересно знать, для чего предназначены эти jar-файлы / классы? Какова цель среды активации JAVA?
В чем может быть причина, по которой моя программа жалуется на отсутствие этих классов?

Спасибо.


person Dana    schedule 22.07.2009    source источник


Ответы (1)


Я предполагаю, что вы используете JavaMail для отправки электронной почты, но вам не нужны вложения.

Платформа активации используется для поиска обработчиков для более сложных ситуаций, таких как отправка вложений. JavaMail будет искать JAF при первой инициализации. Если ваша программа работает без него, вам не нужно беспокоиться о предупреждении.

(В нашей системе сборки это всегда было, и это никогда не вызывало проблем.)

person Jon Skeet    schedule 22.07.2009
comment
На самом деле, я не отправляю никаких писем ... Я действительно не уверен, что могло вызвать это предупреждение. Думаю, я позволю этому быть. - person Dana; 22.07.2009
comment
Если вы не отправляете электронные письма, это несколько странно. Вы знаете, что делает ваш код во время регистрации этого предупреждения? Возможно, какая-то сторонняя библиотека по какой-то причине инициализирует биты JavaMail? Вы используете какой-либо код JavaMail для проверки адреса электронной почты или что-то подобное? - person Jon Skeet; 22.07.2009
comment
Я нашел источник, который инициализировал JavaMail, в какой-то библиотеке нижнего уровня. На самом деле я не использую почтовые функции, но вынужден загружать эту библиотеку по другим причинам. Спасибо за вашу помощь. - person Dana; 22.07.2009