我使用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
我错过了什么?为什么不添加这种依赖?
答案 0 :(得分:2)
我无法看到sbt或任何其他构建工具能够将war文件用作依赖项。想想传递给javac
或java
的类路径会是什么样子。编译器可能只是将其视为标准zip文件,并且不会意识到实际的类在WEB-INF/classes
中。
我认为您需要将这些类打包为jar文件并将其用作依赖项。