Pessoa, é o seguinte… tenho 2 projetos, um com o que seria só web e o outro com uma camada de negocio e persistencia. Nesse segundo projeto estou usando spring 3 + hibernate 3 e ele funciona normalmente (testei ele com um jframe mesmo). O problema é quando eu exporto um jar desse projeto para usa-lo no web. O web diz que não acha o ClassPathXmlApplicationContext, tentei importar o spring 3 pro projeto web tambem mas mesmo assim não foi. Nao sei oq pode estar acontecendo e queria a ajuda de vocês.
Meu Bean
@ManagedBean
@SessionScoped
public class UsuarioBean implements Serializable {
private UsuarioBO usuarioBO;
public UsuarioBean() {
usuarioBO = new UsuarioBO();
}
Meu BO
public class UsuarioBO {
private UsuarioDao usuarioDao = (UsuarioDao) BeanFactory.getBean(
"usuarioHibernateDao", UsuarioDao.class);
Coloquei apenas a parte critica do programa ai.
Obrigado
O q está usando para a parte WEB ?
Se for Spring, ele usa um classloader diferente para web, provavelmente vc tem q colocar o xml do dentro de WEB-INF
[quote=aluisiodsv]O q está usando para a parte WEB ?
Se for Spring, ele usa um classloader diferente para web, provavelmente vc tem q colocar o xml do dentro de WEB-INF[/quote]
Bom, agora na tentativa de corrigir o problema eu deixei tudo no mesmo projeto, no caso usando spring 3 + hibernate 3 + jsf 2 e primefaces 3. No faces-config eu coloquei o el-resolver e ele da essas duas exceções:
Unable to find class ‘org.springframework.web.jsf.el.SpringBeanFacesELResolver’
java.lang.IllegalStateException: O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory
Eu ja verifiquei os jars e estao tudo certo.
É necessario mapear a managedbean no xml do spring? Porque eu so estou mapeando os meus daos e entidades.
Eu tambem mudei o context da beanfactory para
[code]
private static ApplicationContext ctx;
static {
ctx = FacesContextUtils.getWebApplicationContext(FacesContext
.getCurrentInstance());
}
[/code].
Mas ele nem chega la, entao acredito que nao esteja ai o erro.
O meu xml do spring estava num pacote config dentro do source, mas depois criei um applicationContext.xml com as mesmas configurações dentro do web-inf e mesmo assim da erro.
Unable to find class ‘org.springframework.web.jsf.el.SpringBeanFacesELResolver’ - Deve ter alguma coisa configurada ligado a essa classe, que não está sendo encontrada. Se estiver correto as configurações deve estar faltando as dependências do spring web.
java.lang.IllegalStateException: O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory - Qual web container está usando para subir a aplicação web ?
[quote=aluisiodsv]Unable to find class ‘org.springframework.web.jsf.el.SpringBeanFacesELResolver’ - Deve ter alguma coisa configurada ligado a essa classe, que não está sendo encontrada. Se estiver correto as configurações deve estar faltando as dependências do spring web.
java.lang.IllegalStateException: O aplicativo não foi iniciado corretamente na inicialização. Não foi possível encontrar Fábrica: javax.faces.application.ApplicationFactory - Qual web container está usando para subir a aplicação web ?[/quote]
Ja tentei com tomcat 7 e jboss 7.
Eu escrevi um post mostrando como integrar o JSF 2 com Spring da melhor forma que encontrei, lá mostra os jars e as configurações necessárias, espero que te ajude.
Flw! :thumbup:
Consegui resolver colocando o projeto no netbeans 7. Era problema de library mesmo.
Vlw a todos que responderam.