Refactoring eines Maven-Plugins mit Dependency Injection

Das hier erstellt Maven-Plugin, kann noch etwas refactored werden mit Nutzung von Dependency Injection.

Always rejoice, mit freundlicher Genehmigung meines Lieblingskünstlers

Die Methode im Mojo kann in eine eigene Klasse CommandProviderApi verschoben werden. Ein neues Interface CommandProvider kann erstellt werden. Die erstellen wir hier:

1. Das Interface: „Refactoring eines Maven-Plugins mit Dependency Injection“ weiterlesen

Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen

Ein eigenes Maven-Plugin zu erstellen ist nicht schwer und ist schnell gemacht. Wir wollen ein Plugin welches einen Verzeichnis Inhalt mit ls -la in das Log schreibt erstellen. Es können aber auch andere Linux Befehle übergeben werden. Hier nun die 6 Schritte mit den Vorlagen die mind. nötig sind.

Freut euch immer
Always rejoice, mit freundlicher Genehmigung meines Lieblingskünstlers

1. Wir legen in Eclipse ein neue Maven Projekt mit Java 1.8 an. mit Artifact Id und Group Id de.wenzlaff.command.maven.plugin

2. In der pom.xml fügen wir die folgenden Abhängikeiten hinzu: „Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen“ weiterlesen

Swagger-UI in 5 Minuten auf einen Raspberry Pi einem Quarkus Projekt hinzufügen!

Für die Entwicklung von REST APIs ist die Swagger-UI sehr hilfreich.

Ok, dann wollen wir mal in einem Quarkus Projekt eine Swagger-UI hinzufügen. Das geht mit einem Befehl, da Quarkus einen guten Plugin Mechanismus hat:

./mvnw quarkus:add-extension -Dextensions=“openapi“

Nach 27 Sekunden kommt das Build Success:

So, das wars schon. Nun noch die Anwendung starten mit „Swagger-UI in 5 Minuten auf einen Raspberry Pi einem Quarkus Projekt hinzufügen!“ weiterlesen

httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein

Um httpie auf dem Raspberry Pi zu installieren, ist nur ein

nötig. Und schon hat man einen curl Ersatz mit intuitiver UI, JSON support, Syntax Hervorhebung und mehr.

Quicktest, abfragen einer Domain, mit http get www.kleinhirn.eu „httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein“ weiterlesen

Bibelleseplan-Generator 0.0.4 nun mit frei wählbaren Start-Termin bzw. Bibelbuch für (Mac, Windows, Raspberry Pi) veröffentlicht

Der Bibelleseplan Generator ist nun mit frei wählbaren start Termin bzw. Bibelbuch für (Mac, Win, Raspberry Pi) veröffentlicht. Es können jetzt Termine für alle Kalender autom. erzeugt werden im isc Format für Google, Apple oder Outlock. Und zwar für ein oder alle Bibelbücher mit frei wählbaren Starttermin. Beschrieben hatte ich ihn ja schon hier.

Die Installation ist schnell in zwei Schriten gemacht.

1. Auf dieser Projekt-Seite die letzte Version landen unter CI/CD – Pipelines – dann Artefakte – Download Install Java 8 Artifacts oder als alternative hier die 0.0.4 Version (4,3 MB) als ZIP laden (artifacts.zip). „Bibelleseplan-Generator 0.0.4 nun mit frei wählbaren Start-Termin bzw. Bibelbuch für (Mac, Windows, Raspberry Pi) veröffentlicht“ weiterlesen

Wie kann mit Java 8 und dem DOM-Parser einfach eine XML Datei erzeugt werden?

Wie kann mit Java 8 mit dem DOM-Parser einfach eine XML Datei erzeugt werden?

Es sind keine weiteren Abhängigkeiten nötig. Allso keine imports von Fremdjars. Alles ist in Java 8 vorhanden:


Es muss ein DOM Object mit der Baumstruktur erzeugt werden. Dann kann mit dem Transformer und dem StreamResult in eine Datei geschrieben werden.

Hier nun die drei Schritte:

1. Mit der DocumentBuilderFactory ein neues Document erzeugen:

2. Benötigte Elemente und Attribute erzeugen und dem Dokument hinzufügen „Wie kann mit Java 8 und dem DOM-Parser einfach eine XML Datei erzeugt werden?“ weiterlesen

Java 8 Quickie: Kein PermSize und MaxPermSize – by by java.lang.OutOfMemoryError: PermGen error

Ab Java 8 werden die PermSize und MaxPermSize Kommandozeilen Parameter nicht mehr verwendet. Es wird eine Warnung in der Art:

ausgegeben. Also tschüss java.lang.OutOfMemoryError: PermGen error.

Quelle: Oracle.com

Wie kann mit Java die Anzahl der Flugzeuge in der jeweiligen Höhe weltweit in real time ermittelt und mit OpenStreetMap via uMap visualisiert werden?

Wie vor zwei Jahren hier schon mal beschrieben hat sich nicht viel geändert.

Aber es gibt eine neue Version (1.3.0) der Rest API, die wir verwenden wollen. Dazu die Maven pom.xml updaten:

Hier der aktuelle Lauf:

Es sind also 6559 Flugzeuge weltweit in der Luft! Hier die paar Zeilen Java Code die dafür nötig sind: „Wie kann mit Java die Anzahl der Flugzeuge in der jeweiligen Höhe weltweit in real time ermittelt und mit OpenStreetMap via uMap visualisiert werden?“ weiterlesen

Java: Rätsel des Tages

Was ist das Ergebnis? „Java: Rätsel des Tages“ weiterlesen

Java Quickie: Die Kommandozeilen Argumente mit Apache Commons CLI bändigen

Seit März 2017 gibt es noch kein neues Release von den Commons CLI. Aber warum die Commandline nicht auch damit auswerten? Macht alles viel übersichtlicher.

Das geht mit ein paar Zeilen Java Code und einen Eintrag in der pom.xml:

Hier ein Beispiel snippets: „Java Quickie: Die Kommandozeilen Argumente mit Apache Commons CLI bändigen“ weiterlesen

Java 8 Quickie: Wie können alle bestimmten Dateien eines Verzeichnis in einer Zeile ermittelt werden?

Mit der static Methode Files.newDirectoryStream. Diese Methode gibt es schon seit Java 1.7. Hier mal ein Beispiel für alle PDF Datein im aktuellen Verzeichnis:

Java: Rätsel des Tages

Was ist das Ergebnis?

Ergebnis: „Java: Rätsel des Tages“ weiterlesen

Für den Urlaub: Free WLAN Wifi-Scanner mit LED anzeige mit Wemo (ESP8266)

Wer noch für den Urlaub einen freien Wifi-Finder braucht, kann einen Wemo (ESP8266) verwenden, es muss ja nicht immer ein Raspberry Pi sein. Einfach dieses kleinen c Programm mit der Arduino IDO in den Wemo flashen, und mit 5 Volt an einem USB Port mit Strom versorgen.

Der Sketch verwendet nur 266424 Bytes (25%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes. Globale Variablen verwenden 27124 Bytes (33%) des dynamischen Speichers, 54796 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.

Hier noch ein kleines 26 Sekunden Video um zu sehen wie der Scanner mit dem obigen Programm läuft:

Auf der Seriellen Konsolen werden übrigens die Daten auch ausgegeben, z.B.

In diesem Sinne …

Update PDF-Formulare automatisch auswerten – PDF-Formulare to CSV (Excel) – Version 0.0.2 veröffentlicht – nun auch für Windows!

Wie hier ausführlich beschrieben, hier nun die Version 0.0.2 für den Raspberry Pi als DEB Archive aber auch als RPM für RedHat und für Windows nur die JAR Datei zum kostenlosen Download twpdfformulartocsv-0.0.2.zip

Einige Funktionen sind nun NEU z.b. die Hilfe, die mit -h aufgerufen werden kann, hier aber erst einmal das BPMN zum Programmablauf:

Die Versions Ausgabe mit -v „Update PDF-Formulare automatisch auswerten – PDF-Formulare to CSV (Excel) – Version 0.0.2 veröffentlicht – nun auch für Windows!“ weiterlesen

Aktuellste Version mono auf dem Raspberry Pi installieren für C# Programme (Visual C#)

Installiert man mono mit sudo apt install mono-complete ist mono zwar in 30 Minuten installiert, aber nicht in der aktuellsten Version, sondern in Version 4.6.2.

Aktuell ist aber 5.18.1 wie auf der mono Seite zu sehen. Die Installation ist aber auch schnell gemacht, Key, Certificate und Repo laden: „Aktuellste Version mono auf dem Raspberry Pi installieren für C# Programme (Visual C#)“ weiterlesen

OpenOffice Quickie: Wie können Auswahlboxen für PDF-Formulare mit mehreren Werten erstellt werden?

Vor einiger Zeit hatte ich schon mal beschrieben, wie PDF-Formulare mit dem kostenlosen OpenOffice erzeugt werden können. Wie kann nun aber eine solche Auswahlbox mit Werten in einem PDF-Formular eingefügt werden?

Der Trick ist im Bearbeitungsmodus mit einem Doppelklick den Eigenschaften Dialog öffnen: „OpenOffice Quickie: Wie können Auswahlboxen für PDF-Formulare mit mehreren Werten erstellt werden?“ weiterlesen