You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

samiansawi

User / Kunde

  • "samiansawi" started this thread

Posts: 7

  • Send private message

1

Tuesday, October 20th 2015, 8:39pm

Plugin Classloader

Hallo erstmal,
ich biete euch den classloader zum download an. Für Bungeecord und Bukkit

Bukkit/Spigot
Bungeecord

Für wen ist er?
Er ist für Developer gedacht.

Wozu ist dieses Plugin?
Stellt euch vor ihr programmiert ein Plugin und verwendet eine API oder eine externe JAR oder so, die kein Plugin ist. Dann bekommt ihr eine ClassNotFoundException. Die betroffenen wissen bescheid.

Gibt es auch alternativen?
Alle die sich mit diesem Thema auseinandergesetzt haben sind wahrscheinlich auf Maven gestoßen. Ich wollte Maven nicht benutzen.

Was macht es?
Dieses Plugin lädt alle Klassen in ausgewählten JARs zu den Klassen des Servers, so können diese Verwendet werden.

Wie benutze ich es?
Nach dem ihr den Server einmal mit diesem Plugin gestartet habt wird eine Datei (lib_path.txt) im Serverorder erstellt. Dort könnt ihr alle JARs eintragen.
Pro Zeile könnt ihr einen Pfad zu einer JAR oder zu einem Ordner eintragen, alle JARs aus dem Ordner werden geladen. Relative und absolute Pfade gehen.

This post has been edited 1 times, last edit by "samiansawi" (Oct 20th 2015, 9:30pm)


Waishon

User / Kunde

  • "Waishon" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

2

Wednesday, October 21st 2015, 1:55pm

Ich verstehe nicht wo das Problem ist:
Ich speichere die externe Jar in den BuildPath und exportiere sie mit. Dann hat man auch keine "ClassNotFoundException". Daher verstehe ich den Sinn des Plugins nicht

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

3

Wednesday, October 21st 2015, 9:46pm

Den einzigen Vorteil den ich sehen würde, ist wenn man mehrere Plugins hat, die die selben APIs, etc. verwenden. Allerdings finde ich es dennoch schöner das ganze mit Maven zu machen.
Standard Standart eines Flamingos ist einbeinig.

deinplugin

User / Kunde

Posts: 12

Location: dein-plugin.de

Occupation: Developer

  • Send private message

4

Friday, October 23rd 2015, 9:18pm

Einfach das einfügen, und alle Dependencies, die nicht mit "provided" gekennzeichnet worden sind, werden automatisch in dein Plugin integriert. Generell empfehlen ich die Nutzung von Maven, da es einem Arbeit abnimmt, und die Teamarbeit vereinfacht. z.B. muss sich keiner mehr um "Library-Pfade" o.ä. kümmern. Außerdem werden nicht benötigte Klassen rausgefiltert so wird das Plugin kleiner.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<plugin>  
  <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.4.1</version>
    <executions>
        <execution>

            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <minimizeJar>true</minimizeJar>


            </configuration>
        </execution>
    </executions>

</plugin>

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net