<p:fileUpload - Erro

4 respostas
E

Pessoal,

Escolhi um determinado arquivo e clico no upload, só que o problema não esta passando no meu Bean, não esta imprimindo a linha “System.out…” e quando rodo o projeto esta dando erro :
Obs. Adicionei no meu projeto os jar’s : commons-fileupload-1.2.2,commons-io-2.0

GRAVE: WebModule[/Primafaces]PWC1270: Exception starting filter PrimeFaces FileUpload Filter

java.lang.InstantiationException

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:124)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4685)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:5377)

at com.sun.enterprise.web.WebModule.start(WebModule.java:498)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)

at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2019)

at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)

at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)

at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)

at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)

at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)

at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)

at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)

at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)

at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)

at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)

at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)

at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)

at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)

at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)

at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)

at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)

at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)

at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)

at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

at com.sun.grizzly.ContextTask.run(ContextTask.java:71)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)

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

Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Erro ao criar objeto gerenciado para a classe: class org.primefaces.webapp.filter.FileUploadFilter

at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.createManagedObject(InjectionManagerImpl.java:315)

at com.sun.enterprise.web.WebContainer.createFilterInstance(WebContainer.java:745)

at com.sun.enterprise.web.WebModule.createFilterInstance(WebModule.java:1972)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:253)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:120)

 41 more

Caused by: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.primefaces.webapp.filter.FileUploadFilter

at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:167)

at org.jboss.weld.manager.BeanManagerImpl.createAnnotatedType(BeanManagerImpl.java:1057)

at org.glassfish.weld.services.JCDIServiceImpl.createManagedObject(JCDIServiceImpl.java:268)

at org.glassfish.weld.services.JCDIServiceImpl.createManagedObject(JCDIServiceImpl.java:229)

at com.sun.enterprise.container.common.impl.managedbean.ManagedBeanManagerImpl.createManagedBean(ManagedBeanManagerImpl.java:470)

at com.sun.enterprise.container.common.impl.managedbean.ManagedBeanManagerImpl.createManagedBean(ManagedBeanManagerImpl.java:420)

at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.createManagedObject(InjectionManagerImpl.java:299)

 45 more

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory

at java.lang.Class.getDeclaredFields0(Native Method)

at java.lang.Class.privateGetDeclaredFields(Class.java:2291)

at java.lang.Class.getDeclaredFields(Class.java:1743)

at org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:105)

at org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:102)

at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

at org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:63)

at org.jboss.weld.util.reflection.SecureReflections.getDeclaredFields(SecureReflections.java:102)

at org.jboss.weld.introspector.jlr.WeldClassImpl.(WeldClassImpl.java:154)

at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:119)

at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:59)

at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:50)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)

at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)

at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:163)

 51 more

Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory not found by org.primefaces [269]

at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)

at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)

at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

 69 more
**********web.xml
     <!-- ############################################# -->
    <!-- # File upload                                      # -->
    <!-- ############################################# -->
    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>
            org.primefaces.webapp.filter.FileUploadFilter
        </filter-class>
        <init-param>
            <param-name>thresholdSize</param-name>
            <param-value>51200</param-value>
        </init-param>
         <!-- Optional 
        <init-param>
            <param-name>uploadDirectory</param-name>
            <param-value>/var/bcom/temp</param-value>
        </init-param>
         -->
    </filter>
    
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
**********************************

<h:form enctype="multipart/form-data">  
  <p:panel header="Luirton - Upload exemplo ;)">
      <p:fileUpload fileUploadListener="#{meuBean.handleFileUpload(event)}"  
            mode="advanced"  
            update="messages"   
            multiple="true"     
            allowTypes="/(\.|\/)(gif|jpe?g|png|JGP)$/"/>  
  
    <p:growl id="messages" showDetail="true"/>  
  </p:panel>
</h:form> 


***********************************
@ManagedBean(name="meuBean")
@ViewScoped
public class MeuBean implements Serializable {
    
    	private static final long serialVersionUID = 1L;

	public void handleFileUpload(FileUploadEvent event) {  
            System.out.print("adsfdfsa");
        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
    }
    

    
}

4 Respostas

R
S

como quis dizer o colega ai eh falta do commons-upload e o do commons-io no classpath.

E

Estou utilizando o Netbeans e fui na pasta biblioteca do meu projeto e cliquei com o botao direitor e procurei o jar commons-fileupload-1.2.2 e adicionei.

Porem quando executo este projeto esta dando erro :

GRAVE: WebModule[/Primafaces]PWC1270: Exception starting filter PrimeFaces FileUpload Filter

java.lang.InstantiationException

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:124)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4685)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:5377)

at com.sun.enterprise.web.WebModule.start(WebModule.java:498)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)

at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2019)

at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1669)

at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)

at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)

at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)

at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:301)

at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)

at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)

at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:389)

at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:348)

at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:363)

at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1085)

at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:95)

at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1291)

at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1259)

at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:461)

at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:212)

at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)

at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)

at com.sun.enterprise.v3.services.impl.ContainerMapper$Hk2DispatcherCallable.call(ContainerMapper.java:354)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)

at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)

at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)

at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)

at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)

at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)

at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)

at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)

at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)

at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)

at com.sun.grizzly.ContextTask.run(ContextTask.java:71)

at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)

at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)

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

Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Erro ao criar objeto gerenciado para a classe: class org.primefaces.webapp.filter.FileUploadFilter

at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.createManagedObject(InjectionManagerImpl.java:315)

at com.sun.enterprise.web.WebContainer.createFilterInstance(WebContainer.java:745)

at com.sun.enterprise.web.WebModule.createFilterInstance(WebModule.java:1972)

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:253)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:120)

 41 more

Caused by: org.jboss.weld.resources.spi.ResourceLoadingException: Error loading class org.primefaces.webapp.filter.FileUploadFilter

at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:167)

at org.jboss.weld.manager.BeanManagerImpl.createAnnotatedType(BeanManagerImpl.java:1057)

at org.glassfish.weld.services.JCDIServiceImpl.createManagedObject(JCDIServiceImpl.java:268)

at org.glassfish.weld.services.JCDIServiceImpl.createManagedObject(JCDIServiceImpl.java:229)

at com.sun.enterprise.container.common.impl.managedbean.ManagedBeanManagerImpl.createManagedBean(ManagedBeanManagerImpl.java:470)

at com.sun.enterprise.container.common.impl.managedbean.ManagedBeanManagerImpl.createManagedBean(ManagedBeanManagerImpl.java:420)

at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.createManagedObject(InjectionManagerImpl.java:299)

 45 more

Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory

at java.lang.Class.getDeclaredFields0(Native Method)

at java.lang.Class.privateGetDeclaredFields(Class.java:2291)

at java.lang.Class.getDeclaredFields(Class.java:1743)

at org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:105)

at org.jboss.weld.util.reflection.SecureReflections$4.work(SecureReflections.java:102)

at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

at org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:63)

at org.jboss.weld.util.reflection.SecureReflections.getDeclaredFields(SecureReflections.java:102)

at org.jboss.weld.introspector.jlr.WeldClassImpl.(WeldClassImpl.java:154)

at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:119)

at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:59)

at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:50)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.getOrCompute(ComputingConcurrentHashMap.java:153)

at com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)

at com.google.common.collect.ComputingConcurrentHashMap$ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)

at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:163)

 51 more

Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory not found by org.primefaces [269]

at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)

at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)

at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

 69 more
E

coloquei na pasta bibliotecas apenas. é o suficiente ???

Criado 17 de maio de 2013
Ultima resposta 17 de mai. de 2013
Respostas 4
Participantes 3