java如何改变SBT中可传递maven依赖项的范围?
我正在Scala中为Elasticsearch 5.0开发一个插件。 这意味着我必须将整个Elasticsearch添加为一个依赖项:
...
"org.elasticsearch" % "elasticsearch" % "5.0.0"
...
如果在Maven central中看到their pom.xml,那么它们的所有外部依赖项都是这样声明的(注意排除项):
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-memory</artifactId>
<version>6.2.0</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
这意味着如果我依赖Elasticsearch 5.0.0,我只依赖他们的jar,但我的类路径中没有任何必要的依赖
现在:
他们究竟为什么要这样“排除”他们的依赖关系
是否有一个SBT技巧可以覆盖所有可传递依赖项的“排除”?i、 e.(非常伪代码)
dependencyClasspath := dependencyClasspath.map (dep => dep.copy(exclude = Seq())
编辑:我澄清:项目编译正常,但我在运行时缺少类,这里是my build.sbt and error message
共 (0) 个答案