java - META-INF/spring.factories 中缺少 spring 自动配置类

标签 java spring maven apache-spark

我正在尝试创建基于 spring 的应用程序,但在构建之后我在初始化 spring 上下文时遇到异常 -> 在 META-INF/spring.factories 中找不到自动配置类。 我在我的应用程序中大量使用 spark,我被迫使用 maven-assembly-plugin 来打包我的 jar(否则我无法运行 spark 作业)。

我的主要类(class)示例:

@SpringBootApplication
@EnableAutoConfiguration
public class MyMainClass {
    public static void main(String[] args) {

        ConfigurableApplicationContext ctx = new SpringApplicationBuilder(MyMainClass.class).web(false)
                                                                                                   .run(args);
        SparkJob job = ctx.getBean(SparkJob.class);
        job.prepareJobAndRun();
        ctx.close();
    }
}

当我添加

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.mypackage.MyMainClass

一切都按预期工作,但我不想手动添加它们。 有没有机会在没有 spring-boot-maven-plugin 的情况下完成这项工作?

最佳答案

我发现,您可以将自己的 META-INF/spring.factories 添加到 src/main/resources。这个自定义的 spring.factories 将被打包到 jar 中。已测试,正常工作。

关于java - META-INF/spring.factories 中缺少 spring 自动配置类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43586999/

相关文章:

java - 如何获取 DLL 或 EXE 的文件描述

java - 使用 PHP 将文件移动到目录

java - 具有单个参数的 Spring Data JPA "OR"

java - 在设置属性之前,bean 被注入(inject)到构造函数 arg 中

java - 带有 mongodb 的 Spring Data - 如何访问文档中的动态字段?

java - 使用Windows任务计划程序自动执行WAR文件

java - 如何将字符串转换为 boolean 表达式

java - 在 Java 中使用 StringTokenizer 分割路径 平台无关

java - 如何在测试中@Autowired BuildProperties?

java - @ApplicationException 与 Java 1.7