2012-04-25 40 views
0

我已经使用maven创建了Vaadin项目,并将战争安装在我的本地maven存储库中。 该项目定义了一个公共类,com.whatever.User为什么sbt缺少对Vaadin项目的依赖

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

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

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

重装SBT项目,我使用用户对象从SBT项目中尝试之后。但我发现了这个错误:

> 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 

我缺少什么?为什么不加入这个依赖关系?

回答

2

我看不到sbt或其他任何构建工具能够使用war文件作为依赖关系。想想看看类路径传递给javacjava的样子是什么样的。编译器大概会把它看作一个标准的zip文件,并不会意识到实际的类在WEB-INF/classes

我想你需要将这些类打包为一个jar文件并将其用作依赖项。