Spring启动和apache spark - 容器冲突

nir*_*nir 4 tomcat maven spring-boot apache-spark

我试图在项目中一起使用spring boot 1.1.5和apache spark 1.0.2.看起来像apache spark在内部使用Jetty容器,我已经配置spring-boot来使用Tomcat容器.但是,应用程序启动因根本原因导致某些securityException失败.如果我看到完整的堆栈跟踪看起来像spring boot试图初始化"jettyEmbeddedServletContainerFactory",它不应该在第一时间.由于通过火花的码头存在,它可能从类路径中拾取它.如果我从火花中排除jetty并再次运行我没有再次看到相同的错误但是由于没有找到jetty而导致SparkContext初始化失败.我如何告诉spring-boot运行时查找"TomcatEmbeddedServletContainerFactory"而不是jetty?

小智 9

我得到了"java.lang.SecurityException:class"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>
Run Code Online (Sandbox Code Playgroud)