maven - spring boot 和 apache spark - 容器冲突

标签 maven tomcat apache-spark spring-boot

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

关于maven - spring boot 和 apache spark - 容器冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28820250/

相关文章:

tomcat - 将 Tomcat 与 ActiveMQ 和 Spring 的 DefaultMessageListenerContainer 集成 - 再次重新传递 JMS 消息

java - 如何从 Maven 部署 jar?

windows - Pyspark上saveAsTextFile()中命令字符串异常中的(null)条目

hadoop - HDP 2.5 : Spark History Server UI won't show incomplete applications

java - 在开发模式下使用 Quarkus 的 Maven 多模块项目

java - JaCoCo 缺少可执行文件问题

hibernate - 从 1.3.5 升级到 1.3.9 时如何修复 grails 配置错误?

scala - 运行 TPCDS 基准数据集时出现 Spark 错误 - 找不到 dsdgen

java - 在 java 中以 MapReduce 模式启动 Pig 服务器

java - NoClassDefFoundError - RunListener : Maven-surefire/JUnit