网上有和我报错一样的,但是按照他们给的方法不能解决,报错如下21:31:26,734 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
 
--- MBeans waiting for other MBeans ---
ObjectName: jboss.j2ee:jar=jpa_01.jar,name=PersonManagerBean,service=EJB3
  State: NOTYETINSTALLED
  I Depend On:
    persistence.units:unitName=test
 
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: persistence.units:unitName=test
  State: NOTYETINSTALLED
  Depends On Me:
    jboss.j2ee:jar=jpa_01.jar,name=PersonManagerBean,service=EJB3网上给的解决办法是
1,Copy "mysql-connector-java-5.0.8-bin.jar"到"#\jboss-4.2.2.GA\server\default\lib"下 
2,Copy "mysql-ds.xml"到"#\jboss-4.2.2.GA\server\default\deploy"下
我走做过了,但是没有效果。我值部署了一个实体Bean,JPA。
注入了一下EntityManager
 @PersistenceContext(unitName ="test")
 protected EntityManager em ;就报这个错误!
那位知道帮忙解决一下,急!!!谢谢

解决方案 »

  1.   

    比如说,你的 ds 文件是怎么写的,你的 Session Bean 代码是什么
      

  2.   

    ds的写法<datasources>
      <local-tx-datasource>
        <jndi-name>MySqlDS</jndi-name>
        <connection-url>jdbc:mysql://localhost:3306/ejb</connection-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <user-name>root</user-name>
        <password>root</password>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
        <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
        <metadata>
           <type-mapping>mySQL</type-mapping>
        </metadata>
      </local-tx-datasource>
    </datasources>
      

  3.   

    Session Bean 的写法@Stateless
    @Remote(PersonManager.class)
    public class PersonManagerBean implements PersonManager {
    @PersistenceContext(unitName ="test")
    private EntityManager em ;

    public void addPerson(String name) { Person p = new Person();
    p.setName(name);

    em.persist(p);
    }}
      

  4.   

    peresistence.xml的写法
    <?xml version="1.0" encoding="UTF-8" ?>
    <persistence 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"    
    version="1.0">    <persistence-unit name="test"    transaction-type="JTA">    <jta-data-source>java:MySqlDS</jta-data-source>        <properties>            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                <!-- none | update | create-drop -->
                <property name="hibernate.hbm2ddl.auto" value="create" />
                <property name="hibernate.show_sql" value="true" />
                <property name="hibernate.format_sql" value="false" />        </properties>    </persistence-unit></persistence>
      

  5.   

    把这个<jta-data-source>java:MySqlDS</jta-data-source> 改成这个再试试看,也就是在冒号后面加个“/”<jta-data-source>java:/MySqlDS</jta-data-source> 
      

  6.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Persistence deployment descriptor for dev profile -->
    <persistence 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" 
                 version="1.0">
                 
       <persistence-unit name="test">
          <provider>org.hibernate.ejb.HibernatePersistence</provider>
          <jta-data-source>java:/MySqlDS</jta-data-source>
          <properties>
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
             <property name="hibernate.hbm2ddl.auto" value="none"/>
             <property name="hibernate.show_sql" value="false"/>
             <property name="hibernate.format_sql" value="false"/>
          </properties>
       </persistence-unit>    
    </persistence>