根据错误信息,你检查一下你的local interface,和Book中的方法是不是都对应的。

解决方案 »

  1.   

    现在出现下面错误了:
    ————————————————————
    19:37:16,290 WARN  [verifier] EJB spec violation:
    Bean   : Book
    Section: 10.6.2
    Warning: CMP entity beans may not define the implementation of a finder.19:37:16,290 ERROR [MainDeployer] could not create deployment: file:/C:/jboss-3.
    2.6RC2/server/default/deploy/CMPTestEJB.jar
    org.jboss.deployment.DeploymentException: Verification of Enterprise Beans faile
    d, see above for error messages.
            at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:517)
            at org.jboss.deployment.MainDeployer.create(MainDeployer.java:790)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:644)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608)
            at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.
    java:60)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
            at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
    java:197)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
            at $Proxy8.deploy(Unknown Source)
            at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen
    tScanner.java:304)
            at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS
    canner.java:478)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
    doScan(AbstractDeploymentScanner.java:201)
            at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(A
    bstractDeploymentScanner.java:274)
            at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
    upport.java:271)
            at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
    eanSupport.java:221)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.
    java:60)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
            at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
    java:197)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
            at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
    ler.java:884)
            at $Proxy0.start(Unknown Source)
            at org.jboss.system.ServiceController.start(ServiceController.java:414)
            at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.
    java:60)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
            at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
    java:197)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
            at $Proxy4.start(Unknown Source)
            at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251)
            at org.jboss.deployment.MainDeployer.start(MainDeployer.java:836)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:645)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:608)
            at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:592)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.
    java:60)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
            at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
            at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
            at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
    java:197)
            at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
            at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
            at $Proxy5.deploy(Unknown Source)
            at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:407)
            at org.jboss.system.server.ServerImpl.start(ServerImpl.java:311)
            at org.jboss.Main.boot(Main.java:145)
            at org.jboss.Main$1.run(Main.java:399)
            at java.lang.Thread.run(Thread.java:534)
    19:37:16,380 INFO  [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=file:/C
    :/jboss-3.2.6RC2/server/default/deploy/management/web-console.war/
    19:37:17,742 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=file:/C
    :/jboss-3.2.6RC2/server/default/deploy/jmx-console.war/
    19:37:18,022 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
    Incompletely deployed packages:
    org.jboss.deployment.DeploymentInfo@5475afc9 { url=file:/C:/jboss-3.2.6RC2/serve
    r/default/deploy/CMPTestEJB.jar }
      deployer: org.jboss.ejb.EJBDeployer@a4488
      status: Deployment FAILED reason: Verification of Enterprise Beans failed, see
     above for error messages.
      state: FAILED
      watch: file:/C:/jboss-3.2.6RC2/server/default/deploy/CMPTestEJB.jar
      lastDeployed: 1116329836210
      lastModified: 1116329838000
      mbeans:
    19:37:18,283 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-808
    0
    19:37:18,443 INFO  [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8009
    19:37:18,443 INFO  [JkMain] Jk running ID=0 time=0/80  config=null
    19:37:18,453 INFO  [Server] JBoss (MX MicroKernel) [3.2.6RC2 (build: CVSTag=Bran
    ch_3_2 date=200409270100)] Started in 39s:647ms
    ——————————————
    源码在下面
    谁能帮我看看
      

  2.   


    CMP的源码:
    Book.java
    ___________package cmp;import javax.ejb.EJBObject;
    import java.sql.Date;
    import java.rmi.RemoteException;
    import java.math.BigDecimal;
    import javax.ejb.EJBLocalObject;public interface Book extends EJBObject, EJBLocalObject {
      public void setBookauthor(String bookauthor)throws RemoteException;  public String getBookauthor()throws RemoteException;;  public void setBookdate(Date bookdate)throws RemoteException;  public Date getBookdate()throws RemoteException;  public void setBookname(String bookname)throws RemoteException;  public String getBookname() throws RemoteException;  public void setBooknote(String booknote) throws RemoteException;  public String getBooknote()throws RemoteException;  public void setBookpublisher(String bookpublisher)throws RemoteException;  public String getBookpublisher()throws RemoteException;  public BigDecimal getId()throws RemoteException;
      public String getdate()throws RemoteException;
    }——————————
    BookHome.java
    _____________
    package cmp;import javax.ejb.EJBLocalHome;
    import java.math.BigDecimal;
    import javax.ejb.CreateException;
    import javax.ejb.FinderException;
    import java.rmi.RemoteException;public interface BookHome extends EJBLocalHome {
      public Book create(BigDecimal id) throws CreateException,RemoteException;  public Book findByPrimaryKey(BigDecimal id) throws FinderException,RemoteException;
    }
    __________
    BookBean.java
    __________
    package cmp;import javax.ejb.EntityBean;
    import javax.ejb.EntityContext;
    import java.math.BigDecimal;
    import javax.ejb.CreateException;
    import javax.ejb.RemoveException;
    import java.sql.Date;
    import java.util.*;
    import java.sql.*;
    import javax.ejb.EJBObject;
    import javax.ejb.EJBException;
    import java.rmi.RemoteException;
    import javax.rmi.PortableRemoteObject;
    import javax.naming.*;
    import javax.ejb.FinderException;
    import javax.ejb.ObjectNotFoundException;
    public abstract class BookBean implements EntityBean {
      EntityContext entityContext;
       private String id;
       private String bookName;
       private String bookAuthor;
       private String bookPublisher;
       private String bookDate;
       private String bookNote;
       private Connection con;  public BigDecimal ejbCreate(BigDecimal id) throws CreateException,RemoteException {
        setId(id);
        return null;
      }  public void ejbPostCreate(BigDecimal id) throws CreateException,RemoteException {
        id = null;
      }  public void ejbRemove() throws RemoveException, RemoteException{
      }  public abstract void setBookauthor(String bookauthor)throws EJBException,RemoteException;  public abstract void setBookdate(Date bookdate)throws EJBException,RemoteException;  public abstract void setBookname(String bookname)throws EJBException,RemoteException;  public abstract void setBooknote(String booknote)throws EJBException,RemoteException;  public abstract void setBookpublisher(String bookpublisher)throws EJBException,RemoteException;  public abstract void setId(BigDecimal id)throws EJBException,RemoteException;  public abstract String getBookauthor()throws EJBException,RemoteException;  public abstract Date getBookdate()throws EJBException,RemoteException;  public abstract String getBookname()throws EJBException,RemoteException;  public abstract String getBooknote()throws EJBException,RemoteException;  public abstract String getBookpublisher()throws EJBException,RemoteException;  public abstract BigDecimal getId()throws EJBException,RemoteException;
      public abstract boolean isIdentical()throws EJBException,RemoteException;  public void ejbStore()throws EJBException,RemoteException{
      }  public void ejbActivate() throws EJBException,RemoteException{
      }  public void ejbPassivate() throws EJBException,RemoteException{
      }  public void setEntityContext(EntityContext entityContext) throws EJBException,RemoteException{
        this.entityContext = entityContext;
      }  public void unsetEntityContext()throws EJBException,RemoteException {
        this.entityContext = null;
      }
      public String getdate()
      {
        return "shangyongjun:尚用军";
      }
      public String ejbFindByPrimaryKey(String primaryKey) throws FinderException
        {
          boolean result;
       
          try {
             result = selectByPrimaryKey(primaryKey);
            } catch (Exception ex) {
               throw new EJBException("ejbFindByPrimaryKey: " +
                  ex.getMessage());
            }
          if (result) 
          {
             return primaryKey;
          }
          else {
             throw new ObjectNotFoundException
                ("Row for id " + primaryKey + " not found.");
             }
        }
        private boolean selectByPrimaryKey(String primaryKey) throws SQLException
        {      String selectStatement = "select id " +"from book where id = ? ";
          PreparedStatement prepStmt =con.prepareStatement(selectStatement);
          prepStmt.setInt(1, Integer.parseInt(primaryKey));      ResultSet rs = prepStmt.executeQuery();
          boolean result = rs.next();
          prepStmt.close();
          return result;
        }
      }
      ___________
    谁能帮我看看错误
    急呀
    初学的时候难免有些菜鸟问题~!
    先谢谢了
      

  3.   

    我顶
    public interface Book extends EJBObject, EJBLocalObject {
    }
    这里是不是复制错误呀