Heim >Java >javaLernprogramm >Wie kann der Fehler „Keine Injektionsquelle gefunden' beim Hochladen von mehrteiligen Jersey-Formulardaten behoben werden?

Wie kann der Fehler „Keine Injektionsquelle gefunden' beim Hochladen von mehrteiligen Jersey-Formulardaten behoben werden?

Linda Hamilton
Linda HamiltonOriginal
2024-12-12 15:26:13966Durchsuche

How to Resolve

Problem bei der mehrteiligen Formulardateninjektion

Problembeschreibung:

Beim Versuch, Dateien über hochzuladen ein REST-Dienst mit Jersey, der folgende Fehler ist aufgetreten:

No injection source found for a parameter of type public javax.ws.rs.core.Response

Problemanalyse:

Der Fehler weist darauf hin, dass die Funktion für mehrteilige Jersey-Formulardaten nicht ordnungsgemäß konfiguriert ist oder die erforderlichen JAR-Dateien fehlen.

Lösung:

1. Erforderliche JAR-Dateien entfernen und hinzufügen:

  • Entfernen Sie die Datei „jersey-multipart-1.18.jar“, die nicht mit Jersey 2.x kompatibel ist.
  • Hinzufügen die folgenden zwei Abhängigkeiten:

    • jersey-media-multipart-2.17
    • mimepull-1.9.3 (von Jersey-media-multipart eingezogene Abhängigkeit)

2. Registrieren Sie MultiPartFeature:

  • Registrieren Sie das MultiPartFeature in Ihrer Jersey-Konfiguration:

    • ResourceConfig: register(MultiPartFeature.class);
    • web.xml:

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

3. Importierte Klassen aktualisieren:

  • Nach dem Entfernen von jersey-multipart-1.18.jar kommt es zu Kompilierungsfehlern für fehlende importierte Klassen. Aktualisieren Sie die Klassennamen, um die folgenden Änderungen widerzuspiegeln:

    • org.glassfish.jersey.media.multipart.FormDataParam
    • org.glassfish.jersey.media.multipart.FormDataContentDisposition

Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Keine Injektionsquelle gefunden' beim Hochladen von mehrteiligen Jersey-Formulardaten behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn