Maison >Java >javaDidacticiel >Comment résoudre les erreurs « Aucune source d'injection trouvée » dans les téléchargements de fichiers multiparts Jersey ?

Comment résoudre les erreurs « Aucune source d'injection trouvée » dans les téléchargements de fichiers multiparts Jersey ?

DDD
DDDoriginal
2024-12-08 14:47:10185parcourir

How to Solve

Problèmes de téléchargement de fichiers multiparts avec l'API Restful de Jersey

Dans le cadre d'un effort de création d'un service RESTful pour les téléchargements de fichiers, vous avez rencontré l'erreur : " Aucune source d'injection trouvée pour un paramètre de type public javax.ws.rs.core.Response." Cette erreur survient après avoir tenté d'exécuter votre serveur Tomcat.

Solution :

Vos dépendances actuelles incluent jersey-multipart-1.18.jar, qui est destiné à Jersey 1. X. Pour une build réussie, remplacez-le par ces deux JAR :

  • jersey-media-multipart-2.17
  • mimepull-1.9.3

De plus, enregistrez la classe MultiPartFeature dans votre application. Si vous utilisez ResourceConfig, invoquez simplement :

register(MultiPartFeature.class);

Pour la configuration web.xml, ajoutez ce qui suit comme paramètre d'initialisation à la servlet Jersey :

<init-param>
    <param-name>jersey.config.server.provider.classnames</param-name>
    <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>

Après avoir supprimé jersey-multipart- 1.18.jar, vous pouvez rencontrer des erreurs de compilation en raison de noms de packages modifiés. Plus précisément, les noms de packages suivants ont changé :

  • FileUploadHandler -> org.glassfish.jersey.media.multipart
  • MultiPartFeature -> org.glassfish.jersey.media.multipart
  • FormDataParam -> org.glassfish.jersey.media.multipart
  • FormDataContentDisposition -> org.glassfish.jersey.media.multipart

Mettez à jour votre code en conséquence et votre service de téléchargement de fichiers devrait fonctionner comme prévu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn