{"id":8749,"date":"2017-08-05T19:53:30","date_gmt":"2017-08-05T17:53:30","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=8749"},"modified":"2024-07-13T10:09:42","modified_gmt":"2024-07-13T08:09:42","slug":"wie-laeuft-groovy-auf-dem-raspberry-pi-mac-os-x-und-eclipse-oxygene-super","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=8749","title":{"rendered":"Wie l\u00e4uft Groovy auf dem Raspberry Pi, Mac OS X und Eclipse Oxygene? Super!"},"content":{"rendered":"<p>Als Java Entwickler verwendet man als Scriptsprache gern Groovy da sie auf der Java Virtual Machine ausgef\u00fchrt wird. Groovy l\u00e4uft auf fast allen Betriebssystemen und ist auch wie Java objektorientiert. Man kann die Klassen und Scripte auch leicht von Java aus aufrufen und umgekehrt.<br \/>\n<figure id=\"attachment_8755\" aria-describedby=\"caption-attachment-8755\" style=\"width: 2732px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Groovy.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Groovy.png\" alt=\"Groovy - Mega - Stark\" width=\"2732\" height=\"2048\" class=\"size-full wp-image-8755\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Groovy.png 2732w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Groovy-300x225.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Groovy-768x576.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Groovy-1024x768.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><figcaption id=\"caption-attachment-8755\" class=\"wp-caption-text\">Groovy &#8211; Mega &#8211; Stark<\/figcaption><\/figure><br \/>\nDeshalb installieren wir mal Groovy mit <a href=\"https:\/\/sdkman.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">sdkman.io<\/a> und schreiben ein Groovy Script mit drei Zeilen welches einen Server startet und die Systemumgebung im Browser ausgibt:<\/p>\n<p>Hier die <strong>TestServer.groovy<\/strong> Datei:<\/p>\n<pre class=\"lang:java decode:true \" >\r\n\/**\r\n * Testserver der die Systemumgebung ausgibt.\r\n * \r\n * Aufruf:\r\n * \r\n * http:\/\/localhost:4567\/info\r\n *\/\r\n\r\n@Grab(group = 'com.sparkjava', module = 'spark-core', version = '2.1')\r\nimport static spark.Spark.*\r\n\r\nget '\/info', { req, res -&gt; 'Groovy l\u00e4uft auf dem Raspberry Pi! Mit dieser Umgebung: '  + System.getenv() }\r\n<\/pre>\n<p> <!--more--><br \/>\nWir verwenden f\u00fcr den Server den Microframework Spark.<\/p>\n<h1>Installation Groovy auf dem Raspberry Pi<\/h1>\n<p>Mit <strong>sudo apt-get install groovy<\/strong> bekommt man im Moment die Version 1.8. Wir wollen aber die aktuelle Version von Groovy installieren.<\/p>\n<p>Das ist in ein paar Minuten gemacht:<\/p>\n<pre class=\"lang:default decode:true \" >\r\n# System updaten\r\nsudo apt-get update\r\nsudo apt-get upgrade\r\n# ZIP installieren\r\nsudo apt-get install zip\r\n\r\n# sdkman installieren\r\ncurl -s \"https:\/\/get.sdkman.io\" | bash\r\n\r\n# Now attempting installation...\r\n#\r\n# Looking for a previous installation of SDKMAN...\r\n# Looking for unzip...\r\n# Looking for zip...\r\n# Looking for curl...\r\n# Looking for sed...\r\n# Installing SDKMAN scripts...\r\n# Create distribution directories...\r\n# Getting available candidates...\r\n# Prime the config file...\r\n# Download script archive...\r\n# % Total % Received % Xferd Average Speed Time Time Time Current\r\n# Dload Upload Total Spent Left Speed\r\n# 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r\n# 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0\r\n# 100 20838 100 20838 0 0 12171 0 0:00:01 0:00:01 --:--:-- 111k\r\n# Extract script archive...\r\n# Install scripts...\r\n# Set version to 5.5.9+231 ...\r\n# Updated existing \/home\/pi\/.bashrc\r\n# Attempt update of zsh profiles...\r\n# Created and initialised \/home\/pi\/.zshrc\r\n# All done!\r\n# Please open a new terminal, or run the following in the existing one:\r\n#\r\n# source \"\/home\/pi\/.sdkman\/bin\/sdkman-init.sh\"\r\n#\r\n# Then issue the following command:\r\n#\r\n# sdk help\r\n#\r\n# Enjoy!!!\r\n#\r\n\r\n# optional mal Checke ob sdkman l\u00e4uft und mit welcher Version\r\nsdk version\r\n# Ergebnis ok: SDKMAN 5.5.9+231\r\n\r\n# Groovy installieren\r\nsource \"$HOME\/.sdkman\/bin\/sdkman-init.sh\"\r\nsdk install groovy\r\n\r\n# ==== BROADCAST =================================================================\r\n# * 01\/08\/17: Asciidoctorj 1.5.6 released on SDKMAN! #asciidoctorj\r\n# * 31\/07\/17: Gradle 4.1-rc-2 released on SDKMAN! #gradle\r\n# * 29\/07\/17: Scala 2.12.3 released on SDKMAN! #scala\r\n# ================================================================================\r\n#\r\n# Downloading: groovy 2.4.12\r\n#\r\n# In progress...\r\n#\r\n######################################################################## 100.0%\r\n\r\n# die installierte Version ausgeben\r\ngroovy -version\r\n# Ergebnis:\r\n# Groovy Version: 2.4.12 JVM: 1.8.0_65 Vendor: Oracle Corporation OS: Linux\r\n<\/pre>\n<p>So, nun kopieren wir noch die obige <strong>TestServer.groovy<\/strong> Datei auf den Raspberry Pi und starten das Script mit:<\/p>\n<pre class=\"lang:default decode:true \" >\r\ngroovy TestServer.groovy<\/pre>\n<p>Nach ein paar Minuten (Geduld) startet der Server mit:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nThread-1] INFO spark.webserver.SparkServer - == Spark has ignited ...\r\n[Thread-1] INFO spark.webserver.SparkServer - &gt;&gt; Listening on 0.0.0.0:4567\r\n[Thread-1] INFO org.eclipse.jetty.server.Server - jetty-9.0.2.v20130417\r\n[Thread-1] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector@13851d{HTTP\/1.1}{0.0.0.0:4567}\r\n<\/pre>\n<p>Jetzt k\u00f6nnen wir den Server im Browser aufrufen mit:<\/p>\n<pre class=\"lang:default decode:true \" >\r\nhttp:\/\/Adresse-vom-Pi:4567\/info<\/pre>\n<p>und erhalten dieses Ergebnis:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.27.37.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.27.37.png\" alt=\"\" width=\"1496\" height=\"47\" class=\"aligncenter size-full wp-image-8750\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.27.37.png 1496w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.27.37-300x9.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.27.37-768x24.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.27.37-1024x32.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>und noch weitere Zeilen&#8230;<\/p>\n<h1>Installation Groovy auf dem Mac<\/h1>\n<pre class=\"lang:default decode:true \" >\r\nsudo port install groovy\r\ngroovy -version\r\n#Groovy Version: 2.4.12 JVM: 1.7.0_79 Vendor: Oracle Corporation OS: Mac OS X\r\n<\/pre>\n<h1>Installation Groovy Eclipse Plugin f\u00fcr Oxygen<\/h1>\n<p>\u00dcber die Update Site, install new Software:<br \/>\n<strong><br \/>\nhttp:\/\/dist.springsource.org\/snapshot\/GRECLIPSE\/e4.7\/<\/strong><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.30.57.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.30.57.png\" alt=\"\" width=\"1035\" height=\"1013\" class=\"aligncenter size-full wp-image-8751\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.30.57.png 1035w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.30.57-300x294.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.30.57-768x752.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.30.57-1024x1002.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Auch die Groovy Console l\u00e4uft \u00fcber <strong>Run as<\/strong> und dann <strong>Groovy Console<\/strong><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.38.35.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.38.35.png\" alt=\"\" width=\"1015\" height=\"677\" class=\"aligncenter size-full wp-image-8754\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.38.35.png 1015w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.38.35-300x200.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/08\/Bildschirmfoto-2017-08-05-um-19.38.35-768x512.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Also &#8222;Echt Stark&#8220;. Welche Groovy Seite w\u00fcrdet ihr empfehlen?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Als Java Entwickler verwendet man als Scriptsprache gern Groovy da sie auf der Java Virtual Machine ausgef\u00fchrt wird. Groovy l\u00e4uft 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 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=8749\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eWie l\u00e4uft Groovy auf dem Raspberry Pi, Mac OS X und Eclipse Oxygene? Super!\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,1023,2752],"tags":[2981,241,2190,2982,83,2950],"class_list":["post-8749","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-raspberry-pi","category-raspberry-pi-zero-w","tag-build-groovy","tag-mac-os-x","tag-raspberry-pi","tag-sdkman-groovy","tag-server","tag-testserver"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/8749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8749"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/8749\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8749"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}