java ee 7 - glassfish 4 and jersey-media-multipart 2 don't work with beans.xml -


i using glassfish 4 build restful apps using standard java 7ee stack released.

my basic restful service works fine, want handle incoming file uploads use multipart mime type within same service.

i found poc jersey maven example (multipart-webapp) referred in https://jersey.java.net/documentation/latest/user-guide.html , deploys , works fine. however, build on framework include dependency injection, , in particular, create beans.xml file ( empty 1 ), sorts of errors like:

severe: exception while loading app : cdi deployment failure:weld-001408 unsatisfied dependencies type [providers] qualifiers [@default] @ injection point [[backedannotatedparameter] parameter 1 of [backedannotatedconstructor] @inject public org.glassfish.jersey.media.multipart.internal.multipartreaderserverside(@context providers, provider)]

i've tried using new bean-discovery-mode attribute set or none in beans.xml file makes no difference. bug in glassfish or jersey, or incompatible though glassfish includes jars involved, or doing silly?

it turns out error messages , beans.xml behaviour red herrings. same problem, need use multipart mime inside restful interface on glassfish.

make sure library added @ compile time. if use netbeans, means adding multipart-mime-xxx.jar glassfish/modules directory library, unclicking 'package' button, not included in war package ( since it's inside glassfish anyway.

if using maven, achieve same result using provided tag inside dependency:

        <dependency>         <groupid>org.glassfish.jersey.media</groupid>         <artifactid>jersey-media-multipart</artifactid>         <scope>provided</scope>         </dependency> 

if using restful template generated netbeans starting point, have file called application-config.java has been generated you. add line:

    resources.add(multipartfeature.class); 

immediately above line

     addrestresourceclasses(resources); 

now should find can safely use various annotations multipart mime in jersey.


Comments