私は、Springとの非常に長い事の後にDropwizardに戻ることにしました。私はすぐに絶対ベアボーンRESTサービスを構築しましたが、問題なく実行できます。シンプルなDropwizard 0.7.1アプリケーションの失敗QueryParam with Java 8
として、しかしDropwizard 0.7.1およびJava 1.8、Dropwizardのユーザマニュアルが推奨するようにのみPOMエントリがdropwizardコア依存性およびJava 1.8、を強制するMavenのコンパイラプラグインである
を使用すぐに私は、基本的なコントローラにオプションQueryParamを追加しようとして、アプリケーションは次のエラー(簡潔にするためにカット)して起動に失敗:
INFO [2015-01-03 17:44:58,059] io.dropwizard.jersey.DropwizardResourceConfig: The following paths were found for the configured resources:
GET /(edge.dw.sample.controllers.IndexController)
ERROR [2015-01-03 17:44:58,158] com.sun.jersey.spi.inject.Errors: The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Missing dependency for method public java.lang.String edge.dw.sample.controllers.IndexController.index(java.util.Optional) at parameter at index 0
Exception in thread "main" javax.servlet.ServletException: [email protected]30103b7==com.sun.jersey.spi.container.servlet.ServletContainer,1,false
次のようにコントローラのコードは次のとおりです。
オプションをミックスから削除すると、アプリケーションはうまく動作します。私は、オプションの特定のコードをヌルチェックで置き換え、それは完全に動作します。
ここでは何か基本的なものがありませんか? Google Guava Optionalとjava.util.Optionalの両方が同じエラーで失敗します。
迅速なGoogleがSOに有用何も得られなかったSEARCH /(そして、はい、私は、任意のオブジェクトに狭いダウンしました)が、私は事前に
感謝を見逃しているかもしれリソースに私を指すこと自由に感じ!
Guavaオプションは、デフォルトではdropwizardによって処理されます(FYIのみ)。答えに印を付けることを忘れないでください。 – Natan
ありがとう、それは混乱したデバッグの45分の冒険でした。 – Joe