Muss in der pom.xml von Maven in der dependencyManagement-Sektion eigentlich ein Scope wie z.b. test angegeben werden?

Der Scope sollte in der dependencyManagement-Sektion der pom.xml nicht angegeben werden, außer in bestimmten Ausnahmefällen.

Was ist die Funktion von dependencyManagement?
Die dependencyManagement-Sektion dient dazu, Abhängigkeiten zentral zu verwalten, insbesondere in Multi-Modul-Projekten. Sie ermöglicht: „Muss in der pom.xml von Maven in der dependencyManagement-Sektion eigentlich ein Scope wie z.b. test angegeben werden?“ weiterlesen

iThoughts Mindmap Programm für iPad, Mac OS und Windows eingestellt!

Mit großem Bedauern habe ich erfahren, dass das großartige Mindmapping-Programm iThoughts von toketaWare seit Januar 2024 eingestellt wurde. Nach 11 Jahren erfolgreicher Entwicklung und Unterstützung durch ein engagiertes Team endet damit eine Ära, die viele von uns bereichert hat.

Ich möchte an dieser Stelle meinen tiefen Dank und meine Anerkennung aussprechen. iThoughts war nicht nur ein Werkzeug, sondern ein treuer Begleiter für kreative Prozesse, Organisation und Planung. Es hat mir und unzähligen Menschen geholfen, ihre Gedanken zu strukturieren, Projekte zu verwalten und Ideen visuell darzustellen – sei es im beruflichen oder privaten Kontext. Die intuitive Bedienung, die Flexibilität und die Möglichkeit, Daten in verschiedenen Formaten zu exportieren, waren herausragende Merkmale der Software. „iThoughts Mindmap Programm für iPad, Mac OS und Windows eingestellt!“ weiterlesen

Hochladen von Java-Artefakten nach Maven Central

Maven Central ist das wichtigste öffentliche Repository im Java-Ökosystem und ermöglicht es Entwicklern, wiederverwendbare Komponenten einfach in ihre Projekte einzubinden.

Das Hochladen von Java-Artefakten in das Maven Central Repository ist ein essentieller Schritt, um Java-Bibliotheken und -Anwendungen einer breiten Entwickler-Community zur Verfügung zu stellen. Vor 8 Jahren hatte ich das schon mal beschrieben. Ein paar Änderungen gibt es inzwischen.

Warum sollte man überhaupt Artefakte nach Maven Central hochladen? „Hochladen von Java-Artefakten nach Maven Central“ weiterlesen

Java Programm zur Goldbachsche Vermutung mit Heap Analyse

Die Goldbachsche Vermutung ist eine der ältesten ungelösten Probleme in der Mathematik, die der Mathematiker Christian Goldbach 1742 in einem Brief an Leonhard Euler formulierte. Sie besagt:

Jede gerade Zahl größer als 2 lässt sich als Summe zweier Primzahlen darstellen.

Diese Vermutung ist in zwei Formen bekannt: „Java Programm zur Goldbachsche Vermutung mit Heap Analyse“ weiterlesen

Schlüsselverwendungszwecke aus X509 Zertifikaten im PEM Format mit Java auslesen und im Klartext ausgeben

Jedes Jahr am ersten Donnerstag im Mai ist Welt-Passwort-Tag. Er dient dazu, das Bewusstsein für die Bedeutung starker Passwörter zu schärfen. Also gestern. Dann mal heute ein kleines Javaprogramm zu Entspannung das den Verwendungszweck eine Zertifikats ausgibt. Schlüsselverwendungszwecke sind wichtig für die ordnungsgemäße Verwendung und Interpretation von Zertifikaten und spielen eine entscheidende Rolle bei der Sicherstellung der Sicherheit und Integrität von Kommunikationen und Daten. In ASN.1 („Abstract Syntax Notation One“) ist das beschrieben. ASN.1 ist eine formale Sprache zur Beschreibung von Datenstrukturen und -inhalten, die unabhängig von einer bestimmten Programmiersprache oder Hardwareplattform ist. ASN.1 wird häufig in der Telekommunikations- und Netzwerktechnik sowie in der Kryptografie verwendet.

Hier ein kleines Programm, das ein JUnit-Testzertifikat (Public, PEM Format) aus dem Dateisystem einliest, und die meisten Parameter des Zertifikats auf der Konsole ausgibt. „Schlüsselverwendungszwecke aus X509 Zertifikaten im PEM Format mit Java auslesen und im Klartext ausgeben“ weiterlesen

10 Gründe warum Nutzer eine Bill of Materials (SBOM) brauchen

Seit ein paar Wochen gibt es die neue Version 2.7.11 von CycloneDX. Wenn das nicht nicht ein Grund ist, einen neue SBOM zu erzeugen. Eine Software Bill of Materials (SBOM) ist eine Liste der Bestandteile und Komponenten einer Softwareanwendung sowie ihrer Beziehungen zueinander. Hier hatte ich ja schon mal beschrieben wie man mit Maven und dem CycloneDX Plugin eine erzeugt. Hier sind die 10 wichtigsten Gründe, warum Benutzer eine SBOM benötigen:

„10 Gründe warum Nutzer eine Bill of Materials (SBOM) brauchen“ weiterlesen

ArchUnit Version 1.2.1 veröffentlicht für eine kontinuierliche Überwachung der Architekturstandards

Das Java Framework ArchUnit ist ein leistungsstarkes Werkzeug für die Gewährleistung von Softwarearchitektur und Code-Qualität in Java-Projekten.

Durch die Möglichkeit, deklarative Regeln zu erstellen und automatisierte Tests zu schreiben, hilft ArchUnit, konsistente und hochwertige Software zu entwickeln. „ArchUnit Version 1.2.1 veröffentlicht für eine kontinuierliche Überwachung der Architekturstandards“ weiterlesen

Quarkus REST-Service mit Swagger-UI in unter 10 Minuten von 0 auf dem Raspberry Pi 4 installieren (Bonus: Panache)

Einen aktuellen Quarkus REST-Service mit Swagger-UI kann in unter 10 Minuten auf dem Raspberry Pi 4 installiert werden. Das längste daran ist noch der erstmalig download. Vor 3 Jahren hatte ich das ja schon in 15 Minuten gemacht.

Also diese 7. Schritte sind auf der Kommandozeile nötig, um einen Aktuellen REST-Server mit Quarkus 3.5.3 zu starten:

Freut euch immer

„Quarkus REST-Service mit Swagger-UI in unter 10 Minuten von 0 auf dem Raspberry Pi 4 installieren (Bonus: Panache)“ weiterlesen

Bedingten Ausführungen in JUnit @EnabledOnOs(value = OS.WINDOWS, disabledReason=““)

Das Ziel für JUnit Tests sollte es eigentlich sein, die Tests so zu schreiben das sie auf „allen“ Betriebssystemen laufen. Das geht leider nicht immer. Manchmal will man oder kann man einen JUnit Test nur auf einem bestimmten OS-System laufen lassen.

Z.B. der Test läuft nur unter Windows. Seit JUnit 5.1 (aktuell ist übrigens schon Version 5.10.0) gibt es da die Bedingten Ausführungen (conditional Executions, EnabledOnOs, DisabledOnOs). Mit diesen kann z.B. eine Testmethode nur unter Windows ausgeführt werden.

Toll … „Bedingten Ausführungen in JUnit @EnabledOnOs(value = OS.WINDOWS, disabledReason=““)“ weiterlesen

Quarkus CO2 Server 2.x auf Version 3.4.1 Migration mit update Tool oder per Hand

Der 3. Oktober ist in Deutschland ein Feiertag, wenn das nicht Grund genug ist, mal die Migration eines Quarkus 2.0 CO-2 Servers auf 3.4.1 durchzuführen.

Am dritten Oktober, freu’n wir uns sehr,
Ein Feiertag, der uns vereint, ist hier.
Die Einheit Deutschlands, im Glanz erstrahlt,
Wie Quarkus, stark und neu, die Zukunft malt.

Die Alte 2er Version, längst vergangen Zeit,
Jetzt weichen muss, für Neues, das gedeiht.
Wie Quarkus 3er, frisch und schnell, die Zukunft weist,
Die Migration, sie kommt, wir sind bereit.

Die Server, stark wie Eichen im Revier,
Wie Quarkus, schnell und stabil, das ist ihr Tier.
Die Zukunft winkt, wir schreiten voran,
Mit Feiern und Migration, Hand in Hand.

-Thomas Wenzlaff

Es gibt da ja automatisch Scripte und eine Anleitung.

Es war aber doch etwas Handarbeit angesagt, da das „Quarkus CO2 Server 2.x auf Version 3.4.1 Migration mit update Tool oder per Hand“ weiterlesen

Das „Haus vom Nikolaus“ mit seinen 88 Möglichkeiten und seine Bedeutung in der Graphentheorie

Das „Haus vom Nikolaus„, ein einfaches geometrisches Muster aus fünf Linien, das die Form eines stilisierten Hauses darstellt, mag auf den ersten Blick wie eine unschuldige Kindermalerei wirken. Doch hinter diesem scheinbar simplen Muster verbirgt sich eine faszinierende Verbindung zur Graphentheorie, einem Teilgebiet der Mathematik, das sich mit den Eigenschaften und Beziehungen von Graphen beschäftigt. Dann mal los, und ein kleines Java Programm dazu.

Was ist das „Haus vom Nikolaus“? „Das „Haus vom Nikolaus“ mit seinen 88 Möglichkeiten und seine Bedeutung in der Graphentheorie“ weiterlesen

Königsberger Brückenproblem oder etwas Graphentheorie mit jgrapht in Java

Das Königsberger Brückenproblem ist eine klassische mathematische Herausforderung, die im 18. Jahrhundert entstand und einen wichtigen Einfluss auf die Entwicklung der Graphentheorie hatte. Es handelt sich um eine Fragestellung bezüglich der Überquerung von Brücken über den Flüssen Pregel und seinen Inseln in der Stadt Königsberg (heute Kaliningrad, Russland). Das Problem wurde erstmals von dem Schweizer Mathematiker Leonhard Euler im Jahr 1735 gelöst und legte den Grundstein für die moderne Graphentheorie.

In Königsberg gab es sieben Brücken, die die Flüsse Pregel und die beiden Inseln verbunden haben. Die Frage war, ob es möglich war, die Stadt zu durchqueren, indem man jede Brücke nur einmal überquerte und schließlich an einem beliebigen Punkt endete.

Euler bewies, dass es keine Möglichkeit gibt, das Königsberger Brückenproblem zu lösen. Er zeigte, dass mindestens zwei der vier Landpunkte eine ungerade Anzahl von Brücken haben müssten, um eine Lösung unmöglich zu machen. Dies führte zur Entwicklung der Graphentheorie, bei der das Problem als ein Graph dargestellt werden kann, wobei die Landpunkte die Knoten und die Brücken die Kanten des Graphen sind.

Da kommt nun die Implementierung mit JGraphT in Java ins Spiel. „Königsberger Brückenproblem oder etwas Graphentheorie mit jgrapht in Java“ weiterlesen