0

Mavenを使用してVaadinプロジェクトを作成し、ローカルのMavenリポジトリに戦争をインストールしました。このプロジェクトは、パブリッククラスを定義しcom.whatever.Userます。

次に、Vaadinプロジェクトに依存関係を追加したいsbtプロジェクトを作成しました。これは、そのロジックをテストするためです。私の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

私は何が欠けていますか?sbtがこの依存関係を追加しないのはなぜですか?

4

1 に答える 1

2

依存関係としてwarファイルを使用できるsbtやその他のビルドツールが表示されません。クラスパスが渡されたもの、javacまたはjavaどのように見えるかを考えてください。コンパイラはおそらくそれを標準のzipファイルと見なし、実際のクラスがにあることを認識しませんWEB-INF/classes

クラスをjarファイルとしてパッケージ化し、それを依存関係として使用する必要があると思います。

于 2012-04-25T12:40:03.207 に答える