Play Framework – ExceptionInInitializerError – Workaround für Windows

Benutzer des Play Frameworks wundern sich vielleicht, weshalb der Befehl “play start” auf einem Windows PC nicht mehr funktioniert (zumindest wenn Java >7.0.11 installiert ist).

Üblicherweise erscheint in der Konsole folgender Fehler:

Error occurred during initialization of VM
java.lang.ExceptionInInitializerError
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at java.lang.System.initializeSystemClass(Unknown Source)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(Unknown Source)
    at java.io.Win32FileSystem.<init>(Unknown Source)
    at java.io.WinNTFileSystem.<init>(Unknown Source)
    at java.io.FileSystem.getFileSystem(Native Method)
    at java.io.File.<clinit>(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at java.lang.System.initializeSystemClass(Unknown Source)

Der Grund dafür scheint eine Änderung in der JVM zu sein, welche dazu führt, dass irgendwelche Slashes am Ende von bestimmten Parametern abgeschnitten werden. Gemäss dem Issue tracker vom Play Framework wird der Bug wohl nicht repariert.

Damit man unter Windows trotzdem einen Produktiven Server betreiben kann gibt es folgenden Workaround:

Man startet Play mit folgendem Zusatz:

play -Dfile.separator=\/ start

Viel Spass mit play!

Comments

Currently Deactivated - Contact me on Twitter, Mastodon or email if you have questions or suggestions.