【问题标题】:RESOLVED - Spring Boot Starter Mail - failed to access class com.sun.activation.registries.LogSupport from class javax.activation.MimetypesFileTypeMap已解决 - Spring Boot Starter Mail - 无法从类 javax.activation.MimetypesFileTypeMap 访问类 com.sun.activation.registries.LogSupport
【发布时间】:2022-09-22 20:50:52
【问题描述】:

我想在使用 Spring Boot Starter Mail 并尝试创建 MimeMessageHelper 的实例时分享上述问题的解决方案导致异常: 无法从类 javax.activation.MimetypesFileTypeMap 访问类 com.sun.activation.registries.LogSupport

问题在于版本 4.0.0 中的 jaxb-core 依赖项,它带来了 angus-activation 库依赖项。如果首先加载该库,则该库没有 LogSupport 的公共类。 LogSupport 的正确来源来自 com.sun.activation:jakarta.activation 库。

解决方案是在 jaxb-core 依赖项中排除以下内容:

<dependency>
 <groupId>com.sun.xml.bind</groupId>
 <artifactId>jaxb-core</artifactId>
 <version>4.0.0</version>
 <exclusions>
  <exclusion>
   <groupId>org.eclipse.angus</groupId>
   <artifactId>angus-activation</artifactId>
  </exclusion>
 </exclusions>
</dependency>

同时应该有以下依赖:

<dependency>
 <groupId>com.sun.activation</groupId>
 <artifactId>jakarta.activation</artifactId>
 <version>2.0.1</version>
</dependency>
  • 只想分享 gradle/kotlin 的示例configurations.all { exclude(group = \"org.eclipse.angus\", module =\"angus-activation\") }

标签: spring-boot jaxb


【解决方案1】:

添加

<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
    <version>4.0.0</version>
</dependency>

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>

【讨论】:

    【解决方案2】:

    将 jaxws-rt 降级到 2.3.1 版本为我解决了这个问题

    【讨论】:

      猜你喜欢
      • 2018-05-11
      • 1970-01-01
      • 2020-02-19
      • 2018-10-02
      • 2021-03-22
      • 2021-07-26
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      相关资源
      最近更新 更多