opsu!

Bild des Benutzers Lucki

Das Spiel

Das Spiel ist ein open-source client für das populäre Spiel osu! in Java geschrieben.

Besonders ist der intergrierte Downloader verfügbarer Beatmaps.

Installation

Archlinux

Es gibt Pakete im AUR, welches z.B. wie folgt installiert werden kann:

yaourt -S opsu

yaourt -S opsu-git

Manuell

Es gibt auf Github fertige Binärpakete.

Kompilieren

Maven

Ihr braucht maven sowie natürlich Java in der Developer-Variante. Zusätzlich, falls noch nicht vorhanden, braucht ihr ein Paket, dass javaws.jar beinhaltet - bei OpenJDK ist die unter Arch nicht vorhanden, sondern in icedtea-web verfügbar. Mehr dazu unter Fehlerbehebung.
Mit mvn package -Djar -DXDG=true bekommt ihr ein fertiges Paket in den taget-Ordner mit dem Namen target/opsu-${version}-runnable.jar.

Gradle

Ihr braucht gradle sowie natürlich Java in der Developer-Variante.
Mit gradle jar -PXDG=true bekommt ihr ein fertiges Paket in build/libs/opsu-${version}.jar.
Video

Fehlerbehebung

Maven findet javaws.jar nicht

Das OpenJDK beinhaltet die Datei javaws.jar nicht. Die Fehlermeldung sieht dann so aus:

[ERROR] Failed to execute goal on project opsu: Could not resolve dependencies for project itdelatrisu:opsu:jar:0.5.0: Could not find artifact javax.jnlp:jnlp-api:jar:5.0 at specified path /usr/lib/jvm/java-8-openjdk/jre/lib/javaws.jar -> [Help 1]

Abhilfe schafft das Paket icedtea-web, allerdings nur halb, denn Maven sucht noch am falschen Ort. Dazu muss die pom.xml and sinnvoller Stelle wie folgt gepatch werden:

<dependency>
    <groupId>javax.jnlp</groupId>
    <artifactId>jnlp-api</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>/usr/bin/javaws</systemPath>
</dependency>

 

Screenshots und Videos