gpt4 book ai didi

java - 如何从 Spring-Devtools 重启周期中排除使用 WSDL 生成的类?

转载 作者:行者123 更新时间:2023-11-30 05:26:37 26 4
gpt4 key购买 nike

当我启动 Spring Boot 应用程序并启用 Spring-Devtools 并从 WSDL 架构生成类时,我得到:

由以下原因引起:java.lang.IllegalArgumentException:从方法引用的 org.wsdl.WsdlServiceWs 在类加载器中不可见

我有一个基于 Spring Boot 的项目,其中一些使用 org.apache.cxf:cxf-codegen-plugin 插件从 WSDL 文件生成的类。生成的类存储在 target/generated/wsdl/** 目录中。生成的类的包名与项目包名不同。

我按照文档尝试了几种排除:

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-devtools-restart-exclude

但是我所有的尝试都失败了。

restart.exclude.wsdl=target/generated/wsdl
restart.exclude.wsdl=org.wsdl.*
restart.exclude.wsdl=**WsdlServiceWs.class

我想要启用 Spring-Devtools,将 org.wsdl.** 生成的类从重新启动周期中排除。

最佳答案

问题是,我尝试使用 WsdlServiceWs,它实际上是 WsdlServiceWsService 返回的接口(interface)。我在配置中将 WsdlServiceWs 接口(interface)作为 bean 返回:

    ...

@Bean
public WsdlServiceWs wsdlService() {
return new WsdlServiceWsService().getService();
}

...

我没想到这会成为问题。只需将 bean 更改为以下内容:

    ...

@Bean
public WsdlServiceWsService wsdlService() {
return new WsdlServiceWsService();
}

...

完成工作。

<小时/>

编辑:

该解决方案只是将异常的调用从Bean创建阶段移至执行阶段。问题还没有解决。

关于java - 如何从 Spring-Devtools 重启周期中排除使用 WSDL 生成的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58445551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com