Eclipse java.lang.NoClassDefFoundError
Hi,
I am new en the JSF-Spring-Hibernate and the problem is that I created a proyect in Eclipse 3.2 and I have the page:
index.jsp:
<html>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<f:view>
<body>
<table>
<tr>
<td>Documents : </td>
<td>
<h:selectOneMenu id="documento" value="#{accesoInscripcion.documentosItems}">
</h:selectOneMenu>
</td>
</tr>
<tr>
</tr>
</table>
</body>
</f:view>
</html>
but I try to execute the nex error appear:
11/07/2007 08:31:33 AM org.apache.myfaces.shared_impl.util.ClassUtils newInstance
GRAVE: Class : co.edu.uis.admisiones.vista.beans.AccesoInscripcionBean not found.
java.lang.NoClassDefFoundError
at co.edu.uis.admisiones.vista.beans.BaseBean.<init>(BaseBean.java:14)
at co.edu.uis.admisiones.vista.beans.AccesoInscripcionBean.<init>(AccesoInscripcionBean.java:12)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.apache.myfaces.shared_impl.util.ClassUtils.newInstance(ClassUtils.java:277)
at org.apache.myfaces.shared_impl.util.ClassUtils.newInstance(ClassUtils.java:268)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:49)
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:314)
at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:570)
at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:458)
at org.apache.myfaces.el.ValueBindingImpl.getType(ValueBindingImpl.java:175)
But the class is in the package. Sombody could tell me what is the solution?
The configuration files are:
faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<managed-bean>
<managed-bean-name>
documento</managed-bean-name>
<managed-bean-class>
co.edu.uis.admisiones.modelo.bo.Documento</managed-bean-class>
<managed-bean-scope>
request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>accesoInscripcion</managed-bean-name>
<managed-bean-class>
co.edu.uis.admisiones.vista.beans.AccesoInscripcionBean
</managed-bean-class>
<managed-bean-scope>
request</managed-bean-scope>
<managed-property>
<property-name>initAware</property-name>
<value>true</value>
</managed-property>
</managed-bean>
</faces-config>
BaseBean.java:
package co.edu.uis.admisiones.vista.beans;
import co.edu.uis.admisiones.vista.ServiceLocatorAdmisiones;
public class BaseBean
{
private boolean initAware = false;
protected ServiceLocatorAdmisiones serviceLocator;
public BaseBean()
{
try
{
this.setServiceLocator(ServiceLocatorAdmisiones.getInstance());
}
catch (Exception e)
{
e.printStackTrace();
throw new RuntimeException("Error inicializando serviceLocator", e);
}
}
public boolean isInitAware()
{
return initAware;
}
public void setInitAware(boolean initAware)
{
this.initAware = initAware;
if (this.initAware)
{
this.init();
}
}
protected void init(){}
public ServiceLocatorAdmisiones getServiceLocator()
{
return serviceLocator;
}
public void setServiceLocator(ServiceLocatorAdmisiones serviceLocator)
{
this.serviceLocator = serviceLocator;
}
}
AccesoInscripcionBean.java:
package co.edu.uis.admisiones.vista.beans;
import java.util.*;
import co.edu.uis.admisiones.vista.*;
public class AccesoInscripcionBean extends BaseBean
{
private List documentosItems;
public AccesoInscripcionBean()
{
super();
documentosItems = new ArrayList();
}
public List getDocumentosItems()
{
return documentosItems;
}
public void setDocumentosItems(List listaDocumentos)
{
this.documentosItems = listaDocumentos;
}
private void initItemsDocumentos()
{
this.documentosItems = Listados.ListaDocumentos(
this.getServiceLocator().getServicioConsultasGen().getDocumentos());
}
protected void init()
{
try
{
super.init();
initItemsDocumentos();
}
catch(Exception e)
{
System.err.println("Error en el mtodo init() de AccesoInscripcionBean.java: "+e.toString());
}
}
}
admisiones.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
<beans>
<!-- DataSource Definition -->
<bean id="dataSourceAdmisiones"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.informix.jdbc.IfxDriver</value>
</property>
<property name="url">
<value>jdbc:informix-sqli://192.168.19.6:12010/academic:INFORMIXSERVER=UI;SelectMethod=cursor</value>
</property>
<property name="username">
<value>admis</value>
</property>
<property name="password">
<value>sdlfkseic</value>
</property>
</bean>
<!-- Spring Data Access Exception Translator Defintion -->
<bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
<property name="dataSource"><ref bean="dataSourceAdmisiones"/></property>
</bean>
<!-- Hibernate SessionFactory Definition -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>co/edu/uis/admisiones/modelo/bo/Documento.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.InformixDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSourceAdmisiones"/>
</property>
</bean>
<!-- INTERCEPTORS -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager"><ref bean="transactionManager"/></property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="hibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory"></ref>
</property>
</bean>
<!-- Hibernate Template Defintion -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory"><ref bean="sessionFactory"/></property>
<property name="jdbcExceptionTranslator"><ref bean="jdbcExceptionTranslator"/></property>
</bean>
<!--DAO'S-->
<bean id="DocumentoDao" class="co.edu.uis.admisiones.modelo.dao.hibernate.DocumentoDaoHibernateImpl">
<property name="hibernateTemplate"><ref bean="hibernateTemplate"/></property>
</bean>
<!-- SERVICIOS-->
<!-- Servicio de consultas -->
<bean id="servicioConsultasGenTarget" class="co.edu.uis.admisiones.modelo.servicios.implementaciones.ServicioConsultasGenImpl">
<property name="DocumentoDao">
<ref bean="DocumentoDao"/>
</property>
</bean>
<!-- Servicio consultas Proxy Transaccional-->
<bean id="servicioConsultasGen" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target">
<ref bean="servicioConsultasGenTarget"/>
</property>
<property name="proxyInterfaces">
<value>co.edu.uis.admisiones.modelo.servicios.ServicioConsultasGen</value>
</property>
<property name="interceptorNames">
<list>
<value>hibernateInterceptor</value>
<value>transactionInterceptor</value>
</list>
</property>
</bean>
</beans>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
<display-name>jsf</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/admisiones.xml</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>
javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

