Maven einrichten

Füge den folgenden Block <project> in deiner pom.xml hinzu, um die SpongeAPI Abhängigkeit zu gewährleisten:

<repositories>
    <repository>
        <id>sponge</id>
        <url>https://repo.spongepowered.org/maven</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.spongepowered</groupId>
        <artifactId>spongeapi</artifactId>
        <version>5.1.0</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

Das Archetype Plugin verwenden

Alternativ hat Sponge einen einfachen Archetyp, der die grundlegende Struktur für ein Plugin generiert.

Die generierten Pom enthält ein Release-Profil, welches eine GPP-signierte Jar für Javadocs, Binär- und Quellen, generiert - wie empfohlen in den Richtlinien für die Einsendung der Projekte zu Sonatype OSS (allerdings ist diese Option derzeit nicht verfügbar für Sponge-Plugins, da SpongeAPI derzeit nicht auf Maven Central gehostet wird).

Eigenschaften

Der Archetyp Plugin hat ein paar Eigenschaften:

Objekt

Beispielwert

Beschreibung

groupId

io.github.user

Die Maven GroupId, nützlich für Plugins, die als Abhängigkeiten verwendet werden, sollte aber mehr oder weniger Ihrem Paketnamen entsprechen

artifactId

myproject

Die Projekt-Id wird auch als Plugin-Id und für den Namen des generierten Ordners verwendet

version

1.0-SNAPSHOT

Die erste Version für dein Plugin. Kann (und sollte) geändert werden, wenn die Entwicklung voranschreitet

package

io.github.user.myproject

Das Paket, in dem Ihre Plugin-Klasse generiert wird

githubProject

Benutzer/Repo

Das GitHub Projekt. Wenn der angegebene Wert nicht benutzer/repo ist, werden die Problemverfolgungs- und SCM-Abschnitte der pom.xml hinzugefügt

Diese können als Argumente für Maven in Form von -Dproperty = Wert angegeben werden

Verwendung

Dieser Archetyp muss Maven 3 oder höher sein. Rufen Sie Maven mit dem Ziel archetyp:generate auf. Maven erfragt nun alle erforderlichen Parameter. Optionale Parameter müssen in der Befehlszeile angegeben werden.

$ mvn archetype:generate -DarchetypeArtifactId=sponge-plugin-archetype -DarchetypeGroupId=org.spongepowered -DarchetypeRepository=http://repo.spongepowered.org/maven -DarchetypeVersion=1.2 -DgithubProject=waylon531/spongeparty

Die ersten vier Argumente legen fest wo Maven den archetype``findet und welche Version genutzt werden soll. Der ``-DgithubProject=waylon531/spongeparty`` Parameter ist eine optionale Eigenschaft des erzeugten Projekts und kann weggelassen werden, wenn das Projekt nicht auf Github bereitgestellt werden soll.

Nachdem dein Projekt erstellt wurde, muss es in der IDE importieren werden. Siehe Den Arbeitsbereich einrichten für Details.