0

I am new to REST webservices and I am trying to build a webservice using jersey to upload a file. When deploying, i get this error

Artifact RestTest:war exploded: java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : CDI definition failure:WELD-000071: Managed bean with a parameterized bean class must be @Dependent: class org.glassfish.jersey.process.internal.DefaultRespondingContext. Please see server.log for more details.

I created the project using this command:

mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-webapp \
                -DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
                -DgroupId=com.test -DartifactId=RestTest -Dpackage=com.test \
                -DarchetypeVersion=2.27

My pom.xml looks like:

<dependencies>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <scope>provided</scope>
        <version>2.0-m05-2</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>2.0-m05-2</version>
    </dependency>
</dependencies>

According to this answer, i've changed to scope to 'provided', but it isn't working.

Thanks in advance :)

Jakob Herk
  • 157
  • 11
  • 1) Don't mix Jersey versions 2) If you are running on Glassfish, then all your Jersey dependencies should be in a provided scope, as Glassfish already has all of them. – Paul Samsotha Jul 24 '18 at 08:12
  • now I have the following error: [[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response com.test.FileUpload.uploadTxt(java.io.InputStream) at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], producedTypes=[], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class com.test.FileUpload, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@61f9e407]}, definitionMethod=public javax.ws.rs.core.Response ... – Jakob Herk Jul 24 '18 at 08:25
  • https://stackoverflow.com/q/30653012/2587435 – Paul Samsotha Jul 24 '18 at 08:33

0 Answers0