私たちはwarにコンパイルされたweb mavenモジュールを持っているので、servlet-api jarを直接インクルードする必要はありません。これには<scope>provided</scope>
を使用します。servlet-apiへの依存関係を管理するには?
問題は、自分のクラスの1つをテストするために小さなmain()を書くときに発生します。これは単体テストではなく、コード自体と一緒に存在します。
これはjava.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
に失敗します。
public static void main(String[] args) {
final Injector injector = Guice.createInjector(new StandardModule());
// StandardModule is our standard module, with bindings to
// something that rightfully depends on servlet API
...
}
、2つまたは3つの異なるモジュールに私のモジュールを分割するだけでなく、私は考えていない簡単な回避策はありますか?
おそらく、このテスターをテストコードに移動することをお勧めします。
スコープ:コンパイルはデフォルトのスコープです。これは望むものではありません(戦争にjarを追加するためです)。スコープ:テストは動作するはずです –
はい、私はそれを削除しました。 :) – Bozho
コードを「テスト」フォルダ(IntellijではEclipseではなくbtw)に移動し、それは魅力的に機能します。ありがとう。 – ripper234