为什么sbt缺少对Vaadin项目的依赖

时间:2012-04-25 12:00:24

标签: maven sbt vaadin

我使用maven创建了一个Vaadin项目,并在我当地的maven存储库中安装了war。 该项目定义了一个公共类com.whatever.User

然后,我创建了一个sbt项目,其中我想在Vaadin项目中添加一个依赖项 - 以便测试它的逻辑。在我的sbt项目的build.sbt文件中,我添加了:

resolvers += "Local Maven Repository" at "file://"+Path.userHome+"/.m2/repository"

libraryDependencies ++= Seq(
  "com.whatever" % "something" % "1.0"
)

重新加载sbt项目后,我尝试在sbt项目中使用User对象。但是我收到了这个错误:

> test
[info] Compiling 1 Scala source to /Users/me/projects/something-test/target/scala-2.9.1/classes...
[error] /Users/me/projects/something-test/src/main/scala/TryingUser.scala:1: object whatever is not a member of package com
[error] import com.whatever.User
[error]            ^
[error] one error found
[error] {file:/Users/me/projects/something-test/}default-1bc94a/compile:compile: Compilation failed
[error] Total time: 3 s, completed 2012-apr-25 13:44:56
我错过了什么?为什么不添加这种依赖?

1 个答案:

答案 0 :(得分:2)

我无法看到sbt或任何其他构建工具能够将war文件用作依赖项。想想传递给javacjava的类路径会是什么样子。编译器可能只是将其视为标准zip文件,并且不会意识到实际的类在WEB-INF/classes中。

我认为您需要将这些类打包为jar文件并将其用作依赖项。