Blaumeise03 / FreeElytra2

Spigot/Paper Plugin, welches Leihelytren anbietet
1 stars 0 forks source link

Apache-Maven-Build fails #1

Closed RedstonePfalz closed 2 years ago

RedstonePfalz commented 2 years ago

Wenn ich FreeElytra2 mit Apache Maven kompilieren möchte, kommt immer eine Fehlermeldung, dass auf auf das Repository blaumeise03.de/maven2 nicht zugegriffen werden kann. Was kann ich tun?

Blaumeise03 commented 2 years ago

Mein Maven Repository ist aktuell nicht mehr online, das Plugin verwendet aber meine Hilfslibrary https://github.com/Blaumeise03/BlueUtils. Wenn du diese zunächst runterlädts, bei dir Lokal mit Maven kompilierst und dann im FreeElytra2 Plugin mein repo löschst/auskommentierst (diese Zeilen):

        <repository>
            <id>blaumeise03-ftp</id>
            <name>Blaumeise03</name>
            <url>http://blaumeise03.de/maven2</url>
        </repository>

müsste es funktionieren. Außerdem muss die Bibliothek auch als Plugin auf dem Server installiert werden. Muss da aber auch anmerken, dass die Bibliothek im Rahmen von einem kleineren Projekt entstanden ist und einige kleinere Features hat (die für FreeElytra2 nicht erforderlich wären), wo ich nicht weiß, wie leicht sie sich updaten lassen (in erster Linie weiß ich nicht, wie viel sich da geändert hat in den neueren Spigot-Versionen und ob Methoden entfernt wurden).

RedstonePfalz commented 2 years ago

Hallo, danke für die schnelle Antwort. Beim Kompilieren von BlueUtils bekomme ich folgende Fehlermeldung: https://pastebin.com/49HXQWJG

Blaumeise03 commented 2 years ago

Du musst die Spigot BuildTools mit dem Zusatz "--compile craftbukkit" ausführen: java -jar BuildTools.jar --rev 1.18.2 --compile craftbukkit (oder so ähnlich, wie auch immer du das bei dir eingerichtet hast)

Außerdem wurde, soweit ich es beurteilen kann, die Base64 Bibliothek aus Craftbukkit entfernt. Java hat selber diese Klasse, wenn du in der Head Klasse den import anpasst sowie die Zeile, wo die Klasse genutzt wird (sollte so ca. bei 56 sein), geht der Fehler weg. Hab aber nicht getestet, ob das dann weiterhin funktioniert (aber den Teil von BlueUtils brauchst du für FreeElytra2 nicht). Das sind die neuen Zeilen:


import java.util.Base64;
byte[] encodedData = Base64.getEncoder().encode(String.format("{textures:{SKIN:{url: \"%s\"}}}", url).getBytes());```
RedstonePfalz commented 2 years ago

Hallo, danke für deine Antwort. Jetzt treten beim Download keine Fehler mehr auf, dafür aber beim Kompilieren der Java-Dateien die Zeile byte[]... habe ich ersetzt und den Import hinzugefügt, sowie die Build-Tools.jar ausgeführt. Das ist der Fehler: https://pastebin.com/d2bZkzUY

Blaumeise03 commented 2 years ago

Das ist noch immer der selbe Fehler. Schau mal unter "C:\Users\User.m2\repository\org\bukkit\craftbukkit\1.18.2-R0.1-SNAPSHOT" (oder so ähnlich), ob (wenn das Verzeichnis überhaupt existiert) da eine jar liegt (müsste "craftbukkit-1.18.2-R0.1-SNAPSHOT.jar" heißen). Außerdem, hast du in der pom.xml sowohl die Spigot Version als auch die Craftbukkit Version auf 1.18 gestellt?

        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.18.2-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>craftbukkit</artifactId>
            <version>1.18.2-R0.1-SNAPSHOT</version>
        </dependency>
RedstonePfalz commented 2 years ago

Der Ordner und die jar exisiteren. Ich habe in der pom.xml die Versionen aktualisiert. Jetzt treten nur noch diese zwei Fehler auf: [ERROR] /D:/Server/Spigot1.18.2/PluginCompile/BlueUtils/src/main/java/de/blaumeise03/blueUtils/Head.java:[15,67] package org.bukkit.craftbukkit.libs.org.apache.commons.codec.binary does not exist [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project BlueUtils: Compilation failure [ERROR] /D:/Server/Spigot1.18.2/PluginCompile/BlueUtils/src/main/java/de/blaumeise03/blueUtils/Head.java:[15,67] package org.bukkit.craftbukkit.libs.org.apache.commons.codec.binary does not exist

Blaumeise03 commented 2 years ago

Du musst den alten Import löschen (Zeile 15 in der Head-Klasse) import org.bukkit.craftbukkit.libs.org.apache.commons.codec.binary.Base64;

Aber um das Ganze mal etwas abzukürzen, habe ich beide Plugins auf die 1.18.2 geupdated. Außerdem habe ich die fertigen Builds hochgeladen: https://github.com/Blaumeise03/FreeElytra2/releases/tag/SNAPSHOT https://github.com/Blaumeise03/BlueUtils/releases/tag/SNAPSHOT Seit der 1.17 wurden NMS stark verändert und wenn man nicht weiß, was man machen muss, ist das updaten sehr schwierig. Ich hoffe alles funktioniert, habe es nur grob getestet.

RedstonePfalz commented 2 years ago

Vielen Dank, ich werde das ausprobieren.