javaFx + SpringBoot 启动时报错:No auto configuration classes found in META-INF/spring.factories 解决方法_java.lang.illegalargumentexception: no auto config-CSDN博客

javaFx+SpringBoot+(de.roskenet:springboot-javafx-support:2.1.6)开发。

直接在idea中运行正常,但打包成jar,之后使用java -jar xxx.jar启动报错,发现日志中有:

java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories.

以及

at de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport.lambda$init$1(AbstractJavaFxApplicationSupport.java:124)

具体日志为:

java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.        at org.springframework.util.Assert.notEmpty(Assert.java:470)        at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:173)         at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getAutoConfigurationEntry(AutoConfigurationImportSelector.java:116)        at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.process(AutoConfigurationImportSelector.java:396)        at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:879         at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:809)        at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:780)        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:319)        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:236)        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:280)        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:96)        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707)        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533)        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405)        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)        at de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport.lambda$init$1(AbstractJavaFxApplicationSupport.java:124)        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

因为看到了有de.felixroske.jfxsupport.AbstractJavaFxApplicationSupport.lambda$init$1(AbstractJavaFxApplicationSupport.java:124)

所以看了一下源码,没发现什么问题。但看到de.roskenet:springboot-javafx-support:2.1.6源码包下的MANIFEST.MF中发现: Build-Jdk: 1.8.0_152 。

所以猜测跟JDK有关,具体深层次原因没有分析出来。

而我运行jar的java版本是openjdk11,使用idea开发工程时用的也是11。

后来尝试将idea以及工程改为jdk1.8,编译成jar,并且也使用jdk1.8运行jar,就能正常启动了。


原网址: 访问
创建于: 2024-02-20 16:27:57
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论