SBT似乎忽略了pom.xml中为多项目构建定义的依赖关系:
object ApplicationBuild extends Build {
lazy val project = Project("root", file(".")).dependsOn(RootProject(riakJavaClient))
lazy val riakJavaClient = uri("git://github.com/basho/riak-java-client")
}来自dependency-graph的输出
[info] +-------------------+
[info] |my-project_2.10 [S]|
[info] | my-project |
[info] | 1.0 |
[info] +-------------------+
[info] | || |
[info] ----------------------------- || --------------------------------------
[info] | |--------------- |
[info] | ---------------| |
[info] v || |
[info] +---------------------------+ || |
[info] |unfiltered-scalate_2.10 [S]| || |
[info] | net.databinder | || |
[info] | 0.6.8 | || |
[info] +---------------------------+ || |
[info] | | | || |
[info] | | ---------------------------- || |
[info] | ----------------- | || |
[info] v | | || |
[info] +----------------------+ | | || |
[info] | scalate-core_2.10 | | | || |
[info] |org.fusesource.scalate| | | || |
[info] | 1.6.1 | | | || |
[info] +----------------------+ | | || |
[info] | | | | | || |
[info] | | ------ | | || |
[info] | --------- | | | || |
[info] v | | | v || v
[info] +------------------+ | | | +-------------------+ || +-----------------+
[info] |scala-compiler [S]| | | | |unfiltered_2.10 [S]| || |commons-validator|
[info] | org.scala-lang | | | | | net.databinder | || |commons-validator|
[info] | 2.10.0 | | | | | 0.6.8 | || | 1.4.0 |
[info] +------------------+ | | | +-------------------+ || +-----------------+
[info] | | ------------ | | | | | || | | |
[info] | | | | | | | --------- || ------------ | ------------
[info] | | | | | | ------------ | || | | |
[info] v | | v | v | | || v | |
[info] +-----------------+ | | +----------------------+ | +------------------------+ | | || +-----------------+ | |
[info] |scala-reflect [S]| | | |scalate-util_2.10 [S] | | |unfiltered-util_2.10 [S]| | | || |commons-beanutils| | |
[info] | org.scala-lang | | | |org.fusesource.scalate| | | net.databinder | | | || |commons-beanutils| | |
[info] | 2.10.0 | | | | 1.6.1 | | | 0.6.8 | | | || | 1.8.3 | | |
[info] +-----------------+ | | +----------------------+ | +------------------------+ | | || +-----------------+ | |
[info] | ----------- ---- | | | | | | || | | |
[info] | | | | | | | | | || ---------- | |
[info] | | ------------------ | | | | | || | | |
[info] | | | | ------------- | | | | || | | |
[info] | | | | | ------------- | | | || | | |
[info] | | | | | | ------------------------ | | || | | |
[info] | | | | | | | ---------------------------------- | || | | |
[info] | | | | | | | | -------------------------------|--| | | |
[info] | | | | | | | | | -------------------- | | | |
[info] | | | | | | | | | | | | | |
[info] v v v v v v v v v v v v v v
[info] +------------------+ +---------+ +------------------+ +-------------+ +-------------------------+ +---------------+ +----------------+
[info] | scala-library | |slf4j-api| | scala-library | |commons-codec| |riak-java-client_2.10 [S]| |commons-logging| |commons-digester|
[info] | org.scala-lang | |org.slf4j| | org.scala-lang | |commons-codec| | default | |commons-logging| |commons-digester|
[info] | 2.10.0 | | 1.6.1 | | 2.10.1 | | 1.4 | | 0.1-SNAPSHOT | | 1.1.1 | | 1.8 |
[info] |evicted by: 2.10.2| +---------+ |evicted by: 2.10.2| +-------------+ +-------------------------+ +---------------+ +----------------+
[info] +------------------+ +------------------+
[info] Note: The old tree layout is still available by using `dependency-tree`riak-java-client项目应该导入其pom.xml中定义的所有库,但不导入任何库。
发布于 2014-01-27 13:50:40
RootProject和ProjectRef (一般情况下只有ProjectReference)引用SBT项目,这样它们就可以完全解决,并正确地处理它们的依赖关系(通过适当的Resolvers来处理文件、svn、git和hg)。但是,它不适用于非SBT项目--在Maven、Ant、Gradle或类似的情况下。只有SBT项目。
您可能需要尝试一下externalPom。我没有,所以不能对它的使用发表评论。
https://stackoverflow.com/questions/21378237
复制相似问题