You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中遇'eclipselink.default-target-namespace'错误,如何配置JAXB工厂?

在Spring Boot中设置jakarta.xml.bind.JAXBContextFactory系统属性的几种方法

针对你遇到的EclipseLink在类路径下导致的JAXB命名空间错误,以下是Spring Boot应用中设置指定系统属性的可行方案:

  • 命令行启动参数
    直接在启动JAR包时添加参数:

    java -jar your-spring-boot-app.jar -Djakarta.xml.bind.JAXBContextFactory=org.glassfish.jaxb.runtime.v2.ContextFactory
    

    若使用Maven Spring Boot插件启动:

    mvn spring-boot:run -Djakarta.xml.bind.JAXBContextFactory=org.glassfish.jaxb.runtime.v2.ContextFactory
    
  • 配置文件(application.properties/yml)
    在application.properties中添加:

    spring.main.system-properties=jakarta.xml.bind.JAXBContextFactory=org.glassfish.jaxb.runtime.v2.ContextFactory
    

    或在application.yml中配置:

    spring:
      main:
        system-properties:
          jakarta.xml.bind.JAXBContextFactory: org.glassfish.jaxb.runtime.v2.ContextFactory
    
  • 启动类代码中提前设置
    在Spring应用启动前通过代码设置系统属性,确保上下文初始化前生效:

    @SpringBootApplication
    public class YourApplication {
        public static void main(String[] args) {
            System.setProperty("jakarta.xml.bind.JAXBContextFactory", "org.glassfish.jaxb.runtime.v2.ContextFactory");
            SpringApplication.run(YourApplication.class, args);
        }
    }
    
  • 环境变量方式
    通过设置JVM环境变量传递参数,例如:

    • Linux/macOS:
      export JVM_OPTS="-Djakarta.xml.bind.JAXBContextFactory=org.glassfish.jaxb.runtime.v2.ContextFactory"
      java -jar your-spring-boot-app.jar
      
    • Windows:
      set JVM_OPTS="-Djakarta.xml.bind.JAXBContextFactory=org.glassfish.jaxb.runtime.v2.ContextFactory"
      java -jar your-spring-boot-app.jar
      

这些方法的生效优先级大致为:命令行参数 > 启动类代码设置 > 配置文件 > 环境变量,可根据你的部署场景选择最合适的方式。

内容的提问来源于stack exchange,提问作者Alok Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:13:20