0

Weblogic 10.3 で Weld、JPA2、Vaadin に基づくアプリケーションを実行しようとしています。

私の問題は、Weld がすべての Bean を登録しているように見えますが、サーブレットに注入されないことです。

次のログ メッセージは疑わしいです。

1433 [[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO  org.jboss.weld.environment.gwtdev.GwtDevHostedModeContainer  - Jetty detected, JSR-299 injection will be available in Servlets and Filters. Injection into Listeners is not supported.
30.08.2012 16:09:20 org.jboss.weld.environment.jetty.MortbayWeldServletHandler process
INFO: Cannot find matching WebApplicationContext, no default CDI support: use jetty-web.xml

基本的に、溶接の統合については、 http: //jianmingli.com/wp/ ?p=4373 のブログに従いました。

おそらくhttp://docs.jboss.org/weld/reference/1.0.0/en-US/html/environments.html#d0e5036に従って beanmanager を設定する必要がありますが、方法がわかりません。

誰にもアイデアはありますか?

/敬具

4

1 に答える 1

1

チュートリアルで音声化されたこれらの手順を実行しましたか?

  • beans.xml を src/META-INF に配置する必要があります。WEB-INF に配置しても機能しません。
  • WEB-INF ディレクトリに weblogic.xml を作成し、wls:prefer-web-inf-classes を true に設定する必要があります。そうしないと、WEB-INF/lib jar ファイルが正しく読み込まれません。

Weblogic は有線アプリケーション サーバーです。バージョン 12.1.1 を使用していますが、CDI に多くの問題があります。

そのチュートリアルを学習目的で読む場合は、Weblogic を使用せず、代わりに jBoss AS の Glassfish を使用することをお勧めします。

JBoss 開発者フレームワークには、この範囲で多くの優れた例とチュートリアルがあります。

于 2012-08-30T20:45:50.710 に答える