Das Eclipse Oxygen.2 (4.7.2) Release ist vor ein paar Tagen veröffentlicht worden. In 2018 solle es dann alle 3 Monate ein neues Release geben. Hier geht es zur Download Seite für Mac, Windows und Linux. Für den Installer gibt es schon fast 200000 Downloads. Was gibt es da so Neues.
JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات
In JUnit 5 gibt es im Package org.junit.jupiter.api die Klasse Assumptions (Annahme).
Die Assumptions Klasse ist eine Sammlung von Util-Methoden. Im Gegensatz zu den Assertions (Behauptungen) wird die Assumptions im Fehlerfall nicht mit einem failure (graues Kreuz) sondern mit einem Error (rot) markiert.
Deshalb ist es manchmal gewünscht, wenn z.B. eine Bestimmte Umgebung nicht vorhanden ist, das dann der Test nicht als Error (rot) sondern mit einen grauen Kreuz (Failures) markiert wird. Dann sollte man also die org.junit.jupiter.api.Assertions verwenden wie diese Testklasse zeigt:
Hier der Quellcode „JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات“ weiterlesen
Wie kann ein XSD-Schema aus Java POJOs mit „Java Architecture for XML Binding“ generiert werden?
Wie kann man aus einem Pojo ein XSD Schema für zukünftige Validierungen generieren?
Das geht ganz einfach mit JAXB und Eclipse Oxygen.1A.
Wir erstellen dazu erst einmal zwei Klassen, Mindmap und Autor mit ein paar Eigenschaften. Optional annotieren wir die Mindmap Klasse mit @XmlRootElement und die Autor Klasse mit @XmlType. „Wie kann ein XSD-Schema aus Java POJOs mit „Java Architecture for XML Binding“ generiert werden?“ weiterlesen
Automatische Überprüfung auf Sicherheitslücken im Java Code auf Basis der Internationalen National Vulnerability Database (NVD)
Sicherheit in Java-Projekten. Datenlecks in Java-Code entdecken. Reports mit bekannten Sicherheitslecks können leicht erstellt werden. Hier mal ein Beispiel Report im HTML Format:
Grundlage bildet die National Vulnerability Database (NVD) Datenbank für Sicherheitslücken, die vom National Institute of Standards and Technology (NIST) gepflegt wird. Wie können solche Reports erstellt werden?
Einfach in der Maven pom.xml das folgende Plugin DependencyCheck ergänzen: „Automatische Überprüfung auf Sicherheitslücken im Java Code auf Basis der Internationalen National Vulnerability Database (NVD)“ weiterlesen
Eclipse Oxygen.1A PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern
Sortierung von Text ist doch hin und wieder mal nötig. Das Eclipse Plugin SortIt ist zwar schon älter, vom 11.8.2016, aber es läuft immer noch mit der aktuellen Eclipse Oxygen.1A Version. Es kann wie alle anderen Plugins installiert werden.

Die Updateseite die unter dem Menü: Help->Install new Software eingetragen werden muss lautet:
|
1 |
http://www.stateofflow.com/UpdateSite/ |
Dann durch den Installationsvorgang gehen: „Eclipse Oxygen.1A PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern“ weiterlesen
Wie können mit JUnit 5 Custom Composed Annotation erstellt werden?
Wenn man an einer zentralen Stelle Testmethoden annotieren will, geht das mit JUnit 5 über eigene Benutzer Annotationen. Ich habe mir eine Annotation für Performance Test geschrieben. Z.B. kann ich sie dann zentral ausschalten:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package de.wenzlaff.umgebung; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; /** * Annotation für Performance Tests. Zentral ausgeschaltet. * * @author Thomas Wenzlaff www.kleinhirn.eu */ @Disabled @Target({ ElementType.TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) @Tag("Performance") public @interface Performance { } |
In diesem Testlauf, habe ich mit der Annotation, die lange laufenden Test ausgeschaltet:
Wofür nutzt ihr die Custom Composed Annotation? Gern als Kommentar…
Wie schalte ich die Passwortabfrage in Eclipse Oxygen.1A für die Übertragung nach GitHub ab?
Wer nicht bei jedem Checkin nach GitHub sein Namen und Passwort eingeben will, kann die OS X Keystore Integration auch abschalten.
Wie schalte ich die Passwortabfrage in Eclipse Oxygen.1A für die Übertragung nach GitHub ab?
Unter: General – Security – Secure Storage
Und schon kann automatisch eingescheckt werden. Diese Fünfjährige, die sich selbst porträtiert hat, macht sich wie so viele keine Sorgen um Security 😉
Texo und EMF mit Diagram Editor läuft auch mit Eclipse Oxygen.1A (4.7) auf Mac OS X High Sierra (10.13)
Texo und EMF läuft auch mit Eclipse Oxygen.1A (4.7), dafür zuerst Texo installieren über das Menü neue Software mit der URL:
http://download.eclipse.org/modeling/emft/texo/updates/interim/
EMF installieren über die Oxygen Install Seite: „Texo und EMF mit Diagram Editor läuft auch mit Eclipse Oxygen.1A (4.7) auf Mac OS X High Sierra (10.13)“ weiterlesen
Wie kann ein JEE 8 Projekt mit GlassFish v5 in Docker mit Eclipse Oxygen in 5 Minuten mit Archetyp erstellt werden?
Wer mal eben schnell ein JEE 8 Projekt mit GlassFish Server in einem Docker Kontainer erstellen will, kann das leicht mit dem Archtype com.airhacks von Adam Bien tun.
Voraussetzung ist Eclipse Oxygen (Mindmap) mit Java 1.8 und Docker.
Was ist zu tun?
1. Ein neues Mavenprojekt starten über das Menü: New – Other – Maven Projekt … „Wie kann ein JEE 8 Projekt mit GlassFish v5 in Docker mit Eclipse Oxygen in 5 Minuten mit Archetyp erstellt werden?“ weiterlesen
Soeben wurde die finale Version des JDK 9 veröffentlicht. Endlich!
Ab jetzt gibt es das Java 9 JDK zum Downloaden mit Jigsaw, Erweiterung der Stream-API, Kommandozeilenanwendung JShell, Neue Collection Factory-Methoden, usw. … und Oracle plant auch kürzere Releasezyklen (6 Monate).
Also, Archive laden und installieren:
Quicktest:
|
1 2 3 4 5 6 7 |
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/java -version # Ergebnis java version "9" Java(TM) SE Runtime Environment (build 9+181) Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode) |
Feier! Freude! Und das sogar im Urlaub …
ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth
Aus der Bucht eingetroffen, ESP32 ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth Dual Mode.
Der ESP32 hat 2,4-GHz-WLAN und Bluetooth in Low Power 40-nm-Technologie.
Der Stromverbrauch ist mit 56 mA sehr gering. Die Leistungsaufnahme mit dem Blink Testprogramm liegt bei 283 mW. Die Vorderansicht mit der Antenne oben und dem USB Anschluss unten: „ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth“ weiterlesen
JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen
Manchmal möchte man die lokalen JUnit 5 Testergebnisse für später aufheben oder als Doku verwenden oder sichern. Man kann die Ergebnisse als XML exportieren und auch später wieder importieren. So kann man sich dann Fehler oder Laufzeiten mal wieder anschauen.
Die Import und Export Menüs, erscheinen aber nur, wenn schon mal ein JUnit Test gelaufen ist, dann an dieser Position:

„JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen“ weiterlesen
Wie wird JUnit 5 (RC3 – Beta) Eclipse Oxygen 4.7.0 Support (Plug-In) installiert?
Heute wurde das JUnit 5 (RC3 – Beta) Plugin für Eclipse Oxygen 4.7.0 veröffentlicht (upgedated). JUnit 5 RC3 wurde schon am 23.8.2017 veröffentlicht. Der JUnit 5 Release Kandidat soll ja noch im 3. Quatal 2017 erscheinen, also im nächsten Monat 🙂
Wie wird das nun installiert?
Das JUnit 5 Plugin gibt es hier.
Einfach diesen Install Button per Drag and Drop in den Eclipse Workspace ziehen:
oder wie in der installations Anleitung beschrieben.
Es öffnet sich dieser Dialog: „Wie wird JUnit 5 (RC3 – Beta) Eclipse Oxygen 4.7.0 Support (Plug-In) installiert?“ weiterlesen
Groovy Programm zum abfragen pytanie der Maven Central Repository API vom Raspberry Pi (Mac, Linux, Windows) aus
Habe mal ein kleines Groovy Programm zum abfragen der Maven Central Repository API vom Raspberry Pi aus erstellt. Dann braucht man nicht extra die Web-GUI von Maven Central.
Einfach das MavenApi.groovy Programm in ein Verzeichnis des Raspberry Pi kopieren. Was Groovy mit ein paar Zeilen macht, ist schon cool. Java braucht wohl ein paar Zeilen mehr, oder? Auch an die fehlenden Semikolons kann man sich gewöhnen.
Und in der Konsole ausführen. Zum Beispiel: „Groovy Programm zum abfragen pytanie der Maven Central Repository API vom Raspberry Pi (Mac, Linux, Windows) aus“ weiterlesen
Wie kann ein Raspberry Pi Debian Image via Docker auf dem Mac OS X und unter Eclipse Oxygen laufen?
Mit Docker ist es ganz einfach möglich, auf Mac OS X (oder auch Windows und Linux) ein Raspberry Pi oder andere Betriebssysteme laufen zu lassen. Dann braucht man keinen echten Raspberry Pi mehr 😉
Hier mal das Beispiel unter Mac OS X wie Docker installiert und Ubuntu, Alpine Linux und zu guter letzt ein Raspbian Debian Linux für Raspberry Pi installiert wird unter Eclipse Oxygen. Die 4.7 Version von Eclipse hat eine coole Docker Unterstüzung. Also allen Grund, auf die aktuelle Eclipse Version zu wechseln.
Docker auf dem Mac OS X ist schnell eingerichtet. Wir nehmen den Stable channel von docker.com, hier der direkt link. Das docker.dmg nach dem Download doppel klicken und in den Application Ordner ziehen.
Dann im Applicatons Ordner die Docker.app starten. Oben in der Menüleiste erscheint dann das Docker Icon für die Einstellungen. „Wie kann ein Raspberry Pi Debian Image via Docker auf dem Mac OS X und unter Eclipse Oxygen laufen?“ weiterlesen
Jenkins Syntax Generator für Pipelines nicht nur für Raspberry Pi’s
Die neuen 2.x Versionen von Jenkins haben einen guten Syntax Generator. So braucht man sich die Syntax der Befehle nicht zu merken. Man klickt einfach auf „Pipeline Syntax“:
Und schon kann man in der Combobox einen Befehl aussuchen für den man ein Snippet generieren möchte. „Jenkins Syntax Generator für Pipelines nicht nur für Raspberry Pi’s“ weiterlesen
Jenkins Pipeline optimieren mit parallele Ausführung auf dem Raspberry Pi
In diesem Blog Beitrag hatte ich gezeigt, wie man auf einem Raspberry Pi einen aktuellen Jenkins installieren kann.
Nun möchte ich mal zeigen, wie Aufgabe parallelisiert werden können.
Ein Jenkins Jobs der folgendes macht, soll mal als Beispiel dienen, um parallele Pipeline zu demonstrieren.
Ein einfacher Job der
- Flugdaten aus Hannover abfragt
- mein Kaffee verbrauch ermittelt
- Temperatur und Luftfeuchte in HAJ abfragt
- Umweltdaten des Lufthygienisches Überwachungssystem Niedersachsen abfragt
- meine drei Server per Ping 10 mal checkt
- und das Ergebnis aller Abfragen per E-Mail versendet
Dazu das kleine Groovy Script, das die öffentlichen Daten abfragt, in den Job eintragen: „Jenkins Pipeline optimieren mit parallele Ausführung auf dem Raspberry Pi“ weiterlesen
WeMos D1 Quicktest: ESP-8266EX D1 Mini WIFI Board mit Arduino
Mal heute kein Raspberry Pi. Der ist für viele Aufgaben auch oversize. Hier der Quicktest: WeMos ESP-8266EX D1 Mini WIFI Board mit Micro USB für Arduino

Hier die Beschreibung des WeMos: „WeMos D1 Quicktest: ESP-8266EX D1 Mini WIFI Board mit Arduino“ weiterlesen
Cooler CSV Reader in JUnit 5
Will man Testfälle aus einer CSV-Datei verwenden, geht das mit JUnit 5 Super einfach. Es gibt da eine neue Annotation @CsvFileSource der nur der Dateiname der CSV-Datei übergeben werden muss, und schon wird für jede Zeile der Test ausgeführt. Die Datei muss im Classpath liegen und mit Komma (,) getrennt sein. Sie darf keine Überschrift haben.
Als Beispiel soll mal die flug-data.csv dienen, die ua. die Summe aller erfassten Flugzeuge enthält.
Hier ein Auszug:
|
1 2 3 4 5 6 7 8 9 10 |
aed4022e-c6e9-45b1-96c1-14270c68a036,3550,Fri Jun 30 07:37:25 CEST 2017,287,148,115,200,139,150,110,122,129,157,155,250,347,531,293,302,99,16 8695a419-e76a-46f4-9a97-3ba7f0d06999,3514,Fri Jun 30 08:17:07 CEST 2017,206,138,126,181,137,151,126,119,117,142,172,214,338,576,353,292,103,23 ee29ce4a-4b9c-4491-ab6c-e888ccbbf4fa,3612,Fri Jun 30 08:29:03 CEST 2017,289,136,121,178,171,144,134,117,132,145,166,223,323,573,360,284,94,22 a95c25b5-8b3d-4922-9ce3-2d22269b32e8,3555,Fri Jun 30 09:23:14 CEST 2017,213,135,120,191,130,178,113,141,123,158,150,241,337,549,383,289,87,17 874494b7-4824-40b2-8660-d9acec56f837,4121,Fri Jun 30 11:27:51 CEST 2017,220,142,129,209,165,158,137,153,141,174,191,339,395,672,364,369,139,24 562e4c98-98bd-472c-9e9b-fc919c2260aa,5055,Fri Jun 30 16:00:44 CEST 2017,237,195,218,308,260,250,172,158,210,270,248,424,493,696,365,372,127,52 898c57c1-88c2-436d-b49a-a2db85ddc1fb,3277,Sun Jul 02 08:35:18 CEST 2017,211,116,92,156,118,129,102,126,99,125,134,198,308,592,393,289,77,12 6e3663bf-19c1-49fe-8260-3aa4e237b198,5084,Thu Jul 06 15:57:54 CEST 2017,292,206,216,318,259,221,149,150,179,211,230,364,474,781,421,390,160,63 ac38b07f-3aa6-4908-a7d7-bae630916f99,5296,Wed Jul 19 17:34:38 CEST 2017,259,237,214,347,272,237,181,174,186,237,202,332,440,821,439,480,183,55 b7f9487e-dd29-4095-a064-d401192ce9ad,4904,Sun Jul 23 20:32:03 CEST 2017,227,275,221,331,264,209,165,147,171,190,218,329,379,726,434,394,157,67 |
Wir wollen jetzt jede Zeile überprüfen, ob die Summe über 3000 Flugzeuge liegt und ob die UID vorhanden ist. Auch wollen wir die Testergebnisse um eine laufende Nr. ergänzen. „Cooler CSV Reader in JUnit 5“ weiterlesen
Quicktest: JDeps (Java Dependency Analysis Tool)
Mit Java 8 wird im bin Verzeichnis auch das JDeps Tool ausgeliefert. Dieses Tool ermöglicht eine statische Kodeanalyse von der Kommandozeile. Es kann die statischen Abhängigkeiten von Klassen und Jars aufzeigen und auch eine Abhängigkeitsgraphen generieren. So ist man dann für Java 9 vorbereitet.
Das wollen wir einmal ausprobieren. Dazu hole ich mir für mein Testprojekt erst einmal alle Jars und untersuche dann das JUnit 4.12.
Also in der pom.xml folgendes Plugin ergänze und ein „mvn package“ ausführen: „Quicktest: JDeps (Java Dependency Analysis Tool)“ weiterlesen
JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!
In JUnit 5 gibt es nun die Möglichkeit, Testmethoden mit Parametern ausszuführen. Anstatt der @Test Annnotation verwendet man die @ParameterizedTest. Nun braucht man noch eine Datenquelle mit @ValueSource.
Diese Klassen liegen in: „JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!“ weiterlesen
Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)
Wollte mal mein REST Testprogramm auf JUnit 5 umstellen. Die neuen JUnit 5 Feature sind schon sehr interessant. Vor ein paar Tagen ist der neue M6 veröffentlicht worden (JUnit 5.0.0-M6 = Platform 1.0.0-M6 + Jupiter 5.0.0-M6 + Vintage 4.12.0-M6). Auch ist die Architektur nun grundlegend geändert. Und evl. will man schon mal die Neuen Features testen. Es gilt nicht: „Wer testet ist Feige ;-)“
Was ist da so nötig?
JUnit 5 braucht zur Laufzeit Java 8.
Versionen setzen
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <restlet-version>2.3.10</restlet-version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.12</junit.version> <junit.jupiter.version>5.0.0-M6</junit.jupiter.version> <junit.vintage.version>${junit.version}.0-M6</junit.vintage.version> <junit.platform.version>1.0.0-M6</junit.platform.version> </properties> |
Die neuen Abhängigkeiten hinzu: „Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)“ weiterlesen
חזרות Wiederholungen mit JUnit 5: @RepeatedTest
Manchmal will man eine Testmethode öfter ausführen. Das ist ja leicht mit einer Schleife möglich.
JUnit 5 bietet nun aber eine schöne Annotation an @RepeatedTest. Mit der kann leicht die Anzahl der Wiederholungen angegeben werden. Über die Methodenparameter TestInfo und RepetitionInfo kann zur Laufzeit auf die Klassennamen, Methodennamen und aktuellen runden Wert zugegriffen werden. Hier mal ein Beispiel:

„חזרות Wiederholungen mit JUnit 5: @RepeatedTest“ weiterlesen
Neue Annotationen الشروح in JUnit 5 (= JUnit Platform + JUnit Jupiter + JUnit Vintage) für Java 8
Einige Namen von Annotationen wurden in JUnit 5 gändert, also von @Ignore nach @Disabled und …
Weitere Details „Neue Annotationen الشروح in JUnit 5 (= JUnit Platform + JUnit Jupiter + JUnit Vintage) für Java 8“ weiterlesen
Standalone RESTful Server und Client mit dem Restlet Framework
Manchmal braucht man in Java einen REST Server oder Client oder beides. Das ist mit dem Restlet Framework schnell implementiert.
Es kann entweder das ganze Beispielprojekt von Github geladen werden oder diese Schritte ausgeführt werden:
Zuerst richten wir in Eclipse ein neues Maven Projekt ein und fügen der pom.xml diese Einträge hinzu: „Standalone RESTful Server und Client mit dem Restlet Framework“ weiterlesen
Start Explorer 1.7.0 läuft auch unter Eclipse Oxygen 4.7 Mac Os X
Das Start Explorer Plugin 1.7.0 läuft auch unter Eclipse Oxygen 4.7.
Das darf in keiner Installation fehlen:
Hier das Kontextmenü: „Start Explorer 1.7.0 läuft auch unter Eclipse Oxygen 4.7 Mac Os X“ weiterlesen
FreeMarker Templates: ftlh Editor der JBoss Tools 4.5.0.AM 1 läuft auch in Eclipse Oxygen 4.7.0!
Wer FreeMarker Templates bearbeiten will, kann dafür den ftlh Editor der JBoss Tools 4.5.0.AM 1 verwenden. Der läuft auch in Eclipse Oxygen 4.7.0!
Installieren über den Marketplace:
Eine ftlh Datei im Editor mit Syntax highlight, syntax error marker, code completion for macro names and bean property names ua.: „FreeMarker Templates: ftlh Editor der JBoss Tools 4.5.0.AM 1 läuft auch in Eclipse Oxygen 4.7.0!“ weiterlesen
Java 9: Erste Modul Generierung modul-info.java mit Eclipse —> beta for Oxygen!
Im Kontextmenü des Projektes gibt es das Menü zum Erzeugen der modul-info.java Datei:
Project -> Cofigure -> Create module-info
Ok, das probieren wir dann mal gleich:
So, wie ist denn das Ergebnis: „Java 9: Erste Modul Generierung modul-info.java mit Eclipse —> beta for Oxygen!“ weiterlesen
Java 9 (jdk-9+176) auf Mac OS X in 10 Minuten installieren
Es gibt zwar noch keinen endgültigen Releasekandidaten, das wurde um ein paar Monate verschoben. Aber die aktuelle Version (jdk-9+176) geht ja auch schon mal für Testzwecke. Die Installation ist wie hier beschrieben schnell erledigt.
1. Laden der Java 9 Version von http://jdk.java.net/9/. Dazu muss die Lizenz akzeptiert werden und das dmg Archive geladen werden, wie hier gezeigt: „Java 9 (jdk-9+176) auf Mac OS X in 10 Minuten installieren“ weiterlesen
Anzahl Flugzeuge weltweit – (Tendenz steigend) – Aktuell 5055
Anzahl Flugzeuge weltweit. Hier die über The OpenSky Network, http://www.opensky-network.org empfangenen Flugzeuge an zufälligen Messzeitpunkten.
Die Datenbasis: „Anzahl Flugzeuge weltweit – (Tendenz steigend) – Aktuell 5055“ weiterlesen

























