Java-Klasse mit Jaxb-API schlägt in Jira fehl mit: Provider com.sun.xml.bind.v2.ContextFactory nicht gefunden

Ich schreibe ein Plugin für Jira, das das Parsen von XML-Dokumenten beinhaltet. Ich benutze JAXB, um dies zu tun (XML zu Pojos und umgekehrt). Hab also eine Klasse, die XML aus Pojos mit JAXB generiert. es sieht aus wie..

import javax.xml.bind.*;

Class Parser {
  public void m1() {
    ...
    // code which uses classes in javax.xml.bind.*
  }

  public static void main(String args[]){
   Parser p=new Parser();
   p.m1();

  } 
}

Die genannten Pakete werden mit der JDK-Distribution (rt.jar) geliefert. Also habe ich nichts weiter gegeben, um die Klasse zu leiten.

wenn ich es von der Kommandozeile mit 'Java' starte, funktioniert es richtig. aber wenn ich es als jar packe und es als plugin in jira setze, schlägt es mit dem folgenden fehler fehl

javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found
 - with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:152)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:299)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)

Dies ist auf demselben Computer. Der einzige Unterschied, den ich sehen konnte, ist, dass ich ihn anders als beim Starten über die Befehlszeile in Jira nicht main (), sondern m1 () durch Instantiieren aufrufen konnte.

Ich frage mich, was passiert ist! Es befindet sich auf derselben Maschine. Ich weiß nicht, wie Jira die Anwendung startet (wie ich von der Kommandozeile starte).

Antworten auf die Frage(6)

Ihre Antwort auf die Frage