2012-04-25 57 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文件並將其用作依賴項。