ひこぽんのーと

覚書と雑記です。

JavaEE 7をやってみよう。 Webデプロイメントアセンブリー

JPA編 その3の補足。

JPA編 その3で、
動的WebプロジェクトからEJBプロジェクトを参照できるようにするため、
動的Webプロジェクトの参照プロジェクトにEJBプロジェクトを加えていたが、
よくよくEclipseのマーカーを見ると警告が出ていることに気づいた。

f:id:nagamitsu1976:20151010150706p:plain

クラスパス・エントリー /SampleEjb は、エクスポートまたは公開されません。実行時に ClassNotFoundExceptions が発生する可能性があります。

なんのこっちゃ、とは思ったが、
よくよく考えてみれば、ワークスペース上でビルドが通る様にしているだけなので、
デプロイした場合、モジュールが欠落している可能性も考え得る。
その警告と読み取れた。

それで、設定すべき別の方法があるのでは無いかと、
エラーメッセージを手がかりに調べてみた。

……が、よくわからず、プロジェクトプロパティをもう一度見なおして、
それっぽいものもを見つけた。
それが、Webデプロイメントアセンプリーの項目。

f:id:nagamitsu1976:20151010151413p:plain

ここのManifest Entriesの追加ボタンを押すと、
追加対象にEJBプロジェクトが表示されたので、
試しに追加してみたら警告が消えた。

f:id:nagamitsu1976:20151010151627p:plain
f:id:nagamitsu1976:20151010151631p:plain

設定は正しいようなので、これはどういう事なのか改めて調べた。

この記事を読むと、Enterprizeアプリケーションプロジェクトでは、
グループ内のプロジェクトで依存関係が設定できるらしいことがわかった。

JPAプロジェクトはEnterpizeアプリケーションプロジェクトに加えるだけで参照可能になるので、
動的WebプロジェクトからEJBプロジェクトを参照可能とするために、
この操作が必要なのは多少解せないが、そういうものなのだろう。

といったところで、今回は終了。