У нас есть зависимость javax.mail
(вот ее последняя версия). У него есть класс javax.mail.internet.InternetAddress
, который имеет этот импорт
import com.sun.mail.util.PropUtil;
Вот единственное место, где оно используется
private static final boolean ignoreBogusGroupName = PropUtil.getBooleanSystemProperty("mail.mime.address.ignorebogusgroupname", true);
У нас есть дистрибутив JDK 8 на основе OpenJDK. У него вообще нет com.sun.mail
. Кажется, в самом OpenJDK 8 его тоже нет (во всяком случае, я скачал архив, вручную проверил его содержимое и не нашел его)
InternetAddress
from jakarta.mail
не имеет такого импорта (jars), вместо него используется jakarta.mail.internet.MimeUtility
. Но переход на jakarta
кажется рискованным (или, по крайней мере, хлопотным, я помню боль перехода на jakarta.servlet
)
Откуда мы могли бы взять com.sun.mail
(или как-то иначе решить эту проблему)?
Не пытайтесь избегать почты Джакарты. В долгосрочной перспективе это принесет вам только боль
@Filburt Я вообще не понимаю, как это связано (кроме того факта, что javax.mail
упоминается в обоих)
Это похоже, потому что речь идет о классах javax.mail в вашем пути к классам. Похоже, у вас конфликт версий. Можете ли вы настроить минимальный проект, чтобы воспроизвести проблему? Например. Файл pom.xml и файл .java либо не могут скомпилироваться, либо выдают исключение во время выполнения?
JavaMail (теперь JakartaMail/Angus Mail) никогда не был частью самой Java.
Если вы зайдете в репозиторий исходного кода javax.mail
(https://github.com/javaee/javamail) и посмотрите его POM-файл, зависимость, которую POM использует для com.sun.mail
, будет следующей:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>${mail.version}</version>
</dependency>
где mail.version
будет версией вашей зависимости javax.mail
.
Попробуйте добавить это в POM-файл вашего проекта.
Этот вопрос похож на: ClassNotFoundException com.sun.mail.util.SharedByteArrayInputStream. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.