2011-02-09 9 views
1

動的WebプロジェクトDeploymentExceptionリモートEJB

Error installing to Real: name=vfsfile:/C:/jboss-5.0.1.GA_1/jboss-5.0.1.GA/server/default/deploy/BookMartEAR.ear/ state=PreReal mode=Manual requiredState=Real 
org.jboss.deployers.spi.DeploymentException: Error deploying BookMartEJB.jar: Container jboss.j2ee:ear=BookMartEAR.ear,jar=BookMartEJB.jar,name=BookMartBean,service=EJB3 failed to resolve persistence unit BookMartEjb 
. 
. 
. 
Caused by: java.lang.IllegalArgumentException: Can't find a persistence unit named 'BookMartEjb' in [email protected]{vfsfile:/C:/jboss-5.0.1.GA_1/jboss-5.0.1.GA/server/default/deploy/BookMartEAR.ear/BookMartEJB.jar/} 

EJB、EARおよびWebプロジェクト名が記載されているように実行している間、私はこの例外を取得していますを展開しています。

persistence.xmlのは次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> 
    <persistence-unit name="BookMartEJB" transaction-type="JTA"> 
     <jta-data-source>MySqlDS</jta-data-source> 
     <class>com.misys.book.Book</class> 
     <class>com.misys.book.Sale</class> 
     <class>com.misys.book.Saleitem</class> 
     <class>com.misys.book.Customer</class> 
     <class>com.misys.book.User</class> 
    </persistence-unit> 
</persistence> 

は、このXMLファイルに問題があるのでしょうか? 私はJBoss ASサーバーとMySqlデータベースを使用しています。

私が間違っていた場所を親切に示唆します。また、その他の情報が必要かどうかを確認してください。

答えて

2

EARにはpersistence.xmlのロケーションは何ですか?これは、EJBモジュールのMETA-INFフォルダ内にある必要があります。存在しない場合(たとえば、EARルートまたはWebモジュールにある場合)、実際には見つかりません。

また、永続性ユニットが最終的に見つかると、次の問題に遭遇する可能性があります。データソースはMySqlDSに設定されていますが、これはJBoss ASがデータソースをバインドする場所であるため、これはjava:/MySqlDSである必要があります。

さらに質問には関係ありませんが、明示的にクラスを明示する必要はありません。実行時スキャンを実行したくない場合を除き、<exclude-unlisted-classes/>要素も含める必要があります。 (ああ、そしてもう一つ最後のことJTAはすでにデフォルトであるので、トランザクションタイプ= "JTA"も除外することができます)

+0

thanx 4返信... persistance.xmlはEJBモジュールにあります.iはjavaに変更しました:/ MySqlDS ..永続エラーはなくなりました...しかし、まだプロジェクトを実行できません。同じ例外がスローされます。 Neの他の提案? –

+1

私はもう何か気づいた。このエラーは、BookMartEjbが見つからないと訴えますが、あなたのPUの名前はBookMartEJBです。これらの名前はまったく同じである必要があります。 (あなたのpu名をBookMarkPUに変更したいかもしれません:* persistence-unit name = "BookMartPU" *あなたが古い名前を使っている場所を明確にスキャンできるように) –

+0

thanx arjan !! :) thtは間違いだった... –

関連する問題