Acessar um bean em uma library

5 respostas
G

Boa tarde galera estou com o seguinte problema eu tenho um jar que eu criei para me ajudar a desenvonlver meus projetos.Adicionei ele no meu projeto agora preciso acessar um bean que está dentro desse jar.Tentei adicionar o seam.properties ou componentes.properties mas mesmo assim não consigo acessar meu bean da minha aplicação web.

Se alguem puder me ajudar ficaria grato.

Até mais

5 Respostas

Guitar_Men

Cara meus conhecimentos em java web são poucos ainda, estou me aventurando agora na linguagem. Mas pelo que eu li e pesquisei até agora, acho que isso não é possível não, me corrijam se eu estiver errado. Voce pode tentar fazer uma gambi, mas isso seria horrível. Tentar criar uma classe que faça um extend da classe do seu jar. Como disse é apenas uma idéia, agora se funciona ou não, só testando.

Flwwww

Javabuntu

basta dar um import na classe do bean desejado… se o jar já está adicionado…

import.seuPacote.seuBean;

p.s. eu uso desta maneira, criei algumas classes, gerei um .jar e agora utilizo ele dentro da app web, apenas inclua o .jar dentro das libraries e dentro de uma classe bastar dar o import para o bean necessário…

p.s2. uma dúvida, esse seu jar tem classes de modelo etc… ou são as lógicas que estão ligadas direto as view :?: informe um pouco melhor sua arquitetura ai…

G

Bom é o seguinte deixa eu explicar melhor criei um jar que nele tem um bean que tenho que acessar para gerar um relatorio direto na minha aplicação web.E tenho que acessar o beam dessa maneiro no meu codigo xhml

<s:link id=“imprimir” value=“Imprimir” action="#{listaRelatorioExemplo.print}"/>

sendo que esse listaRelatorioExemplo.print está dentro do meu jar.É que estou ajudando a criar um framework para
minha empresa.Só que quando eu acesso o link ele não consegue localizar o bean.
Está dando essa seguinte msn de erro:

17:45:35,496 ERROR [SeamPhaseListener] uncaught exception

org.jboss.seam.InstantiationException: Could not instantiate Seam component: listaRelatorioExemplo

at org.jboss.seam.Component.newInstance(Component.java:1962)

at org.jboss.seam.Component.getInstance(Component.java:1865)

at org.jboss.seam.Component.getInstance(Component.java:1832)

at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)

at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)

at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166)

at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53)

at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)

at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)

at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)

at org.jboss.el.parser.AstValue.getTarget(AstValue.java:34)

at org.jboss.el.parser.AstValue.invoke(AstValue.java:95)

at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)

at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:174)

at org.jboss.seam.navigation.Pages.callAction(Pages.java:634)

at org.jboss.seam.navigation.Pages.preRender(Pages.java:289)

at org.jboss.seam.jsf.SeamPhaseListener.preRenderPage(SeamPhaseListener.java:544)

at org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:455)

at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:146)

at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)

at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)

at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)

at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)

at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)

at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)

at java.lang.Thread.run(Thread.java:619)

Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast to antlr.collections.List

at com.vilesoft.framework.relatorio.ListaFuncionarios.(ListaFuncionarios.java:10)

at com.vilesoft.framework.relatorio.ListaRelatorioExemplo.(ListaRelatorioExemplo.java:17)

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:513)

at java.lang.Class.newInstance0(Class.java:355)

at java.lang.Class.newInstance(Class.java:308)

at org.jboss.seam.Component.instantiateJavaBean(Component.java:1304)

at org.jboss.seam.Component.instantiate(Component.java:1260)

at org.jboss.seam.Component.newInstance(Component.java:1958)

 59 more
Javabuntu

olha no meu caso eu faço isso sim, porém eu uso JSF, no meu caso eu declaro o bean dentro do faces-config e mesmo ele estando num .jar eu consigo acessar ele normal…
na arquitetura que estiver utilizando… tem algum xml que vc declara os beans… :?:

G

Valeu pela ajuda vou dar uma olhada !!Valeu mesmo!!!

Criado 4 de março de 2008
Ultima resposta 4 de mar. de 2008
Respostas 5
Participantes 3