aspose file tools*
The moose likes JBoss/WildFly and the fly likes Deployment Error : Class not found Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » JBoss/WildFly
Bookmark "Deployment Error : Class not found" Watch "Deployment Error : Class not found" New topic
Author

Deployment Error : Class not found

sabbir kazi
Ranch Hand

Joined: Feb 03, 2001
Posts: 62
I have developed an entity bean called "CustomerBean" with "CustomerHomeRemote" and "CustomerRemote" home and remote interfaces respectively. I put their fully-qualified path in the "ejb-jar.xml" and "jboss.xml" but getting the following error at the time of deployment:
Bean: CustomerEJB
Section: 22.2
Warning: The Bean Provider must specify the fully-qualified name of the Java class that implements the enterprise bean's business methods in the <ejb-class> element.
Info: Class not found: com.titan.customer.CustomerBean
I have checked the typo for class names and their package path. Any idea, why I am getting this error?
Thanks!
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
It may help us to help you if you post your *.xml files (or the relevant parts of them).


Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
sabbir kazi
Ranch Hand

Joined: Feb 03, 2001
Posts: 62
jboss.xml is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
<enterprise-beans>
<entity>
<ejb-name>CabinEJB</ejb-name>
<jndi-name>CabinHomeRemote</jndi-name>
<local-jndi-name>CabinHomeLocal</local-jndi-name>
</entity>
<entity>
<ejb-name>CustomerEJB</ejb-name>
<jndi-name>CustomerHomeRemote</jndi-name>
</entity>
<session>
<ejb-name>TravelAgentEJB</ejb-name>
<jndi-name>TravelAgentHomeRemote</jndi-name>
<ejb-local-ref>
<ejb-local-ref-name>ejb/CabinHomeLocal</ejb-local-ref-name>
<jndi-name>CabinHomeLocal</jndi-name>
</ejb-local-ref>
</session>
</enterprise-beans>
</jboss>
--------------------------------------------
ejb-jar.xml is as follows:
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<entity>
<ejb-name>CustomerEJB</ejb-name>
<home>com.titan.customer.CustomerHomeRemote</home>
<remote>com.titan.customer.CustomerRemote</remote>
<ejb-class>com.titan.customer.CustomerBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Customer</abstract-schema-name>
<cmp-field><field-name>id</field-name></cmp-field>
<cmp-field><field-name>lastName</field-name></cmp-field>
<cmp-field><field-name>firstName</field-name></cmp-field>
<primkey-field>id</primkey-field>
<security-identity><use-caller-identity/></security-identity>
</entity>
<entity>
<ejb-name>CabinEJB</ejb-name>
<home>com.titan.cabin.CabinHomeRemote</home>
<remote>com.titan.cabin.CabinRemote</remote>
<local-home>com.titan.cabin.CabinHomeLocal</local-home>
<local>com.titan.cabin.CabinLocal</local>
<ejb-class>com.titan.cabin.CabinBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.Integer</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Cabin</abstract-schema-name>
<cmp-field><field-name>id</field-name></cmp-field>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>deckLevel</field-name></cmp-field>
<cmp-field><field-name>shipId</field-name></cmp-field>
<cmp-field><field-name>bedCount</field-name></cmp-field>
<primkey-field>id</primkey-field>
<security-identity><use-caller-identity/></security-identity>
</entity>

<session>
<ejb-name>TravelAgentEJB</ejb-name>
<home>com.titan.travelagent.TravelAgentHomeRemote</home>
<remote>com.titan.travelagent.TravelAgentRemote</remote>
<ejb-class>com.titan.travelagent.TravelAgentBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>

<ejb-local-ref>
<ejb-ref-name>ejb/CabinHomeLocal</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.titan.cabin.CabinHomeLocal</local-home>
<local>com.titan.cabin.CabinLocal</local>
<!-- ejb-link is required by jboss for local-refs. -->
<ejb-link>CabinEJB</ejb-link>
</ejb-local-ref>

<security-identity><use-caller-identity/></security-identity>
</session>

</enterprise-beans>
<assembly-descriptor>
<security-role>
<description>
This role represents everyone who is allowed full access to the Cabin EJB.
</description>
<role-name>everyone</role-name>
</security-role>

<security-role>
<role-name>Employees</role-name>
</security-role>

<method-permission>
<role-name>Employees</role-name>
<method>
<ejb-name>CustomerEJB</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
<method-permission>
<role-name>everyone</role-name>
<method>
<ejb-name>CabinEJB</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>TravelAgentEJB</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
<container-transaction>
<method>
<ejb-name>CabinEJB</ejb-name>
<method-name>*</method-name>
</method>

<method>
<ejb-name>TravelAgentEJB</ejb-name>
<method-name>*</method-name>
</method>

<method>
<ejb-name>CustomerEJB</ejb-name>
<method-name>*</method-name>
</method>

<trans-attribute>Required</trans-attribute>
</container-transaction>
<ejb-client-jar>titanejb-client.jar</ejb-client-jar>
</assembly-descriptor>
</ejb-jar>
----------------------------------------
gerarld dacherit
Greenhorn

Joined: Jun 06, 2004
Posts: 1
I had a similar problem, perhaps this would help you :

force ANT to recompile your sources, by changing their timestamp, for instance adding a "touch" in your compile target :
<touch>
<fileset dir= "${src.dir}/com/titan/customer" />
</touch>

Best regards. Gerarld.
Bug Menot
Greenhorn

Joined: Oct 15, 2004
Posts: 26
If your package path overlaps where you created the jar file you will get this exact error. If the path where you created the jar file is in directory /a/b and your code is in directory /a/b/c/d and the package in your java files and ejb-jar.xml is b.c.d instead of c.d you will get this error. (Note: I had to delete the class files before re-compiling to get it to work)
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Deployment Error : Class not found