Als Java Entwickler verwendet man als Scriptsprache gern Groovy da sie auf der Java Virtual Machine ausgeführt wird. Groovy läuft auf fast allen Betriebssystemen und ist auch wie Java objektorientiert. Man kann die Klassen und Scripte auch leicht von Java aus aufrufen und umgekehrt.
Deshalb installieren wir mal Groovy mit sdkman.io und schreiben ein Groovy Script mit drei Zeilen welches einen Server startet und die Systemumgebung im Browser ausgibt:
Hier die TestServer.groovy Datei:
1 2 3 4 5 6 7 8 9 10 11 12 |
/** * Testserver der die Systemumgebung ausgibt. * * Aufruf: * * http://localhost:4567/info */ @Grab(group = 'com.sparkjava', module = 'spark-core', version = '2.1') import static spark.Spark.* get '/info', { req, res -> 'Groovy läuft auf dem Raspberry Pi! Mit dieser Umgebung: ' + System.getenv() } |
Wir verwenden für den Server den Microframework Spark.
Installation Groovy auf dem Raspberry Pi
Mit sudo apt-get install groovy bekommt man im Moment die Version 1.8. Wir wollen aber die aktuelle Version von Groovy installieren.
Das ist in ein paar Minuten gemacht:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# System updaten sudo apt-get update sudo apt-get upgrade # ZIP installieren sudo apt-get install zip # sdkman installieren curl -s "https://get.sdkman.io" | bash # Now attempting installation... # # Looking for a previous installation of SDKMAN... # Looking for unzip... # Looking for zip... # Looking for curl... # Looking for sed... # Installing SDKMAN scripts... # Create distribution directories... # Getting available candidates... # Prime the config file... # Download script archive... # % Total % Received % Xferd Average Speed Time Time Time Current # Dload Upload Total Spent Left Speed # 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 # 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 # 100 20838 100 20838 0 0 12171 0 0:00:01 0:00:01 --:--:-- 111k # Extract script archive... # Install scripts... # Set version to 5.5.9+231 ... # Updated existing /home/pi/.bashrc # Attempt update of zsh profiles... # Created and initialised /home/pi/.zshrc # All done! # Please open a new terminal, or run the following in the existing one: # # source "/home/pi/.sdkman/bin/sdkman-init.sh" # # Then issue the following command: # # sdk help # # Enjoy!!! # # optional mal Checke ob sdkman läuft und mit welcher Version sdk version # Ergebnis ok: SDKMAN 5.5.9+231 # Groovy installieren source "$HOME/.sdkman/bin/sdkman-init.sh" sdk install groovy # ==== BROADCAST ================================================================= # * 01/08/17: Asciidoctorj 1.5.6 released on SDKMAN! #asciidoctorj # * 31/07/17: Gradle 4.1-rc-2 released on SDKMAN! #gradle # * 29/07/17: Scala 2.12.3 released on SDKMAN! #scala # ================================================================================ # # Downloading: groovy 2.4.12 # # In progress... # ######################################################################## 100.0% # die installierte Version ausgeben groovy -version # Ergebnis: # Groovy Version: 2.4.12 JVM: 1.8.0_65 Vendor: Oracle Corporation OS: Linux |
So, nun kopieren wir noch die obige TestServer.groovy Datei auf den Raspberry Pi und starten das Script mit:
1 |
groovy TestServer.groovy |
Nach ein paar Minuten (Geduld) startet der Server mit:
1 2 3 4 |
Thread-1] INFO spark.webserver.SparkServer - == Spark has ignited ... [Thread-1] INFO spark.webserver.SparkServer - >> Listening on 0.0.0.0:4567 [Thread-1] INFO org.eclipse.jetty.server.Server - jetty-9.0.2.v20130417 [Thread-1] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector@13851d{HTTP/1.1}{0.0.0.0:4567} |
Jetzt können wir den Server im Browser aufrufen mit:
1 |
http://Adresse-vom-Pi:4567/info |
und erhalten dieses Ergebnis:
und noch weitere Zeilen…
Installation Groovy auf dem Mac
1 2 3 |
sudo port install groovy groovy -version #Groovy Version: 2.4.12 JVM: 1.7.0_79 Vendor: Oracle Corporation OS: Mac OS X |
Installation Groovy Eclipse Plugin für Oxygen
Über die Update Site, install new Software:
http://dist.springsource.org/snapshot/GRECLIPSE/e4.7/
Auch die Groovy Console läuft über Run as und dann Groovy Console
Also „Echt Stark“. Welche Groovy Seite würdet ihr empfehlen?