我正在创建一个使用spark和jetty库的程序。依赖关系由maven管理。
问题是,如果定义了bot依赖项,则找不到某些类。特别是CCD_ 1。其他类没有问题。如果我删除了对spark-core的依赖,所有的工作都是正确的。为什么会发生这种情况?
我的例子是基于这个存储库的,在"javax.websocketexample"项目中添加spark-core依赖项可以重现错误
我尝试过不同版本的spark core和jetty-websocket:
- 火花芯(2.10和2.11):1.2.0和1.2.1
- Javax.websocket示例:9.3.0.M1、9.2.7.v20150116和9.1.5.v9.1.5.v220140505
Maven依赖性:
<dependency> <!-- Spark dependency -->
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.2.0</version>
<!--<scope>provided</scope>-->
</dependency>
<dependency> <!-- Jetty dependency -->
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>javax-websocket-server-impl</artifactId>
<version>9.2.7.v20150116</version>
<!--<scope>provided</scope>-->
</dependency>
编辑:
更多信息:我在一个使用流浪汉的空场景中复制了错误。使用的盒子是这个。我使用本手册安装了maven、git和oracleJava。我已经用这个存储库的"javax.websocketexample"项目进行了测试。
在这个测试中,项目在没有消除核心依赖关系的情况下运行,也没有使用依赖关系运行。依赖项使用的版本是最后一个,我已经尝试过项目jetty版本和9.2.X(9.2.7.v20150116)的最后一个版本
依赖性:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.2.1</version>
</dependency>
这是同一个库与不同版本之间的依赖问题。(spark使用8.1.XXX,我的模块使用9.XX)。不能排除依赖关系,因为它在模块中使用。然后,这个问题是一个Java依赖性问题,如果没有OSGi等其他技术,就没有解决方案
我在这里问了类似的问题