Spring Boot 和 apache Spark - 容器冲突

2024-03-20

我试图在项目中一起使用 spring boot 1.1.5 和 apache Spark 1.0.2 。看起来 apache Spark 在内部使用 Jetty 容器,并且我已将 spring-boot 配置为使用 Tomcat 容器。但是,应用程序启动失败,根本原因是出现一些 securityException。如果我看到完整的堆栈跟踪看起来像 spring boot 试图初始化“jettyEmbeddedServletContainerFactory”,但它不应该放在第一位。由于通过 Spark 存在码头,它可能会从类路径中获取它。如果我从 Spark 中排除 jetty 并再次运行,我不会再次看到相同的错误,但 SparkContext 初始化由于找不到 jetty 而失败。我如何告诉 spring-boot 运行时寻找“TomcatEmbeddedServletContainerFactory”而不是 jetty one?


我收到“java.lang.SecurityException:类“javax.servlet.http.HttpSessionIdListener”的签名者信息与同一包中其他类的签名者信息不匹配”

为了解决这个问题,我需要删除所有javax.servlet依赖关系。

<dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.3.1</version>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.glassfish</groupId>
                <artifactId>javax.servlet</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.eclipse.jetty.orbit</groupId>
                <artifactId>javax.servlet</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot 和 apache Spark - 容器冲突 的相关文章

随机推荐