Maven Javax Mail importieren?

  • Hallo.

    Ich habe in IntelliJ mit Maven javax-mail importiert um per MC-Command eine E-Mail zu verschicken.

    Hier der aktuelle Code in der pom.xml dazu:


    Code
    1. <dependency>
    2. <groupId>javax.mail</groupId>
    3. <artifactId>javax.mail-api</artifactId>
    4. <version>1.6.0</version>
    5. </dependency>

    Geladen wird es, da keine Fehler in der CMD-Class kommen. Jedoch kommt folgender Fehler beim Starten:


    https://pastebin.com/ZKDsHp4X


    Und es als PlugIn einzufügen geht ja wegen invalid plugin.yml nicht.

    Wie kann ich es also benutzen, ohne es zu importieren?

    Bitte für einen Noob schreiben, bis noch etwas neu in Maven. Sonst kann ichs eig. verstehen :D

    MfG,

    MadeByProxxy

  • Hat das Plugin beim Starten auf dem Server irgendwie zugriff auf die Source/den Code dieses Javax.Mail?

    If you are homeless ... just buy a house, duh!

    and if you wanna have a plugin matching your conditions ... just code it yourself!

  • Naja, hab das Maven Shade und Compiler plugin so eingebunden (Versionen können outdated sein)

    (nices formatting)


    Und dann wird es in die Jar geshadet.

  • Bei der Dependency von javax.mail solltest du mal noch den scope compile hinzufügen. Dadurch wird die Dependency beim kompilieren mit "verpackt".

    XML
    1. <dependency>
    2. <groupId>javax.mail</groupId>
    3. <artifactId>javax.mail-api</artifactId>
    4. <version>1.6.0</version>
    5. </dependency>

    Das sähe dann in etwa so aus:

    XML
    1. <dependency>
    2. <groupId>javax.mail</groupId>
    3. <artifactId>javax.mail-api</artifactId>
    4. <version>1.6.0</version>
    5.             <scope>compile</scope>
    6. </dependency>

    Ach ja, und du könntest mal die Version von javax.mail auf 1.6.2 updaten. Laut https://mvnrepository.com/arti…mail/javax.mail-api/1.6.2 ist die die aktuelle.

  • Genau das hab ich gesehen.

    Ich war nur ein bisschen verwirrt wegen einer richtigen Installation.

    Aber Danke, ich werd es jetzt installieren und morgen schreiben, wie es gelaufen ist.


    Okay. Ich hab es nun installiert, er hat mir aber eine Spigot 1.13 ausgespuckt. Dann hab ich es mit der 1.8 versucht, da kam dann gar keine Jar sondern nur der SRC.

    Wie bekomm ich daraus jetzt ne Jar?

    Irgendwie versteh ich das ganze gerade nicht, sorry :D


    Edit:

    Es hat sich doch eine Jar erstellt, sorry.


    Okay letzte Frage:

    Code
    1. <dependency>
    2. <groupId>javax.mail</groupId>
    3. <artifactId>javax.mail-api</artifactId>
    4. <version>1.6.2</version>
    5. <scope>compile</scope>
    6. </dependency>

    Ich kann da den SMTPTransport nicht importieren. Zuvor ging es aber mit javax.mail.

    Woran liegt das wieder?

    Wenn das geht, wär ich soweit fertig :D


    Noch ein Edit:

    Ich hab SMTPTransport nun installieren können mit einem Maven-Import von com.sun.mail.

    Wenn jetzt aber der Server startet, kommt noch immer der Fehler, dass die Messaging-Exception nicht gefunden wurde


    Okay...

    Ich versteh es nicht...

    Ich hab das PlugIn in der Version verändert, neue Commands hinzugefügt - einfache, die auch gehen - und ich habe den Namen geändert.

    Wenn ich es mit Maven exportiere, es dann auf den Server ziehe und starte, spuckt er einen Error aus aus der 2.0-Version. In Maven und in der plugin.yml steht aber 3.0 eindeutig.

    Der neue Name wird gar nicht erst angezeigt und wenn ich die plugin.yml ansehen will, ob die doch die richtige ist, dann kommt da, dass sie durch Schwierigkeiten und da sie nicht existiert, nicht geöffnet werden konnte...

    Was genau ist das denn jetzt?

    Ich hab den Server neu aufgesetzt, das PlugIn überschrieben, das alte gelöscht und dann erst reingezogen, das alte gelöscht, neugestartet und dann das neue geladen, auf meinen vServer geladen... nichts geht damit noch...

  • Okay. Ich hab jetzt beide Teile mal "überflogen".

    Im ersten Teil die Einführung und der Aufbau der pom.xml und im zweiten Teil die plugin.yml und die README.

    Das konnte mir nicht weiter helfen, weil bei mir das Problem ist, dass eine ältere Version exportiert wird, die vom Code her gar nicht mehr existiert.

    Fehler beim Export kommen auch keine... Das ist sehr komisch.

  • Bist du dir sicher, dass nur die ältere Version exportiert wird, oder nimmst du immer nur die falsche Datei zum Testen? Versuch einfach mal die Version von deinem Projekt zu erhöhen und Exportiere dann nochmal. Dort sollte ja dann die neue Version mit im Namen der Datei stehen. Wenn dass nicht funktioniert, kannst du ja mal folgenden Build verwenden und mal schauen, ob es damit funktioniert.

    Zu beachten hierbei ist, dass der tag <mainClass>${project.groupId}.${project.artifactId}.Main</mainClass> auf deine Hauptklasse zeigen muss, in der du dein Plugin startest.

    Außerdem werden zwei Dateien generiert. Eine ohne die zusätzlichen Dependencies und eine mit. Hierbei solltest du die mit den Dependencies verwenden, da dort auch dein javax.mail mit kompiliert wird.