Java Getriebe

Java und NetBeans

@ServiceProvider in einem JavaSE Projekt

Ich bin im Moment auf einem Annotation-Trip. Die Dinger sind cool. Vor allem in Zusammenhang mit ihren Processor Implementierungen. NetBeans macht es in seinen neusten Versionen selbst vor. So cool die XML Layer Strukturen zur Laufzeit auch sind, so uncool sind sie in dem Quellen zu pflegen. Dank des LayerGeneratingProcessors ist es aber verdammt einfach geworden Annotations (die ja bekanntlich direkt im Quelltext bei den betroffenen Klassen stehen) selber zu schreiben, die die notwendigen Einträge in der layer.xml erstellen.

Ein ähnliches leidiges Thema wie die XML Layer sind Services, die man selber in einer Textdatei unter META-INF/services pflegen darf. Auch hier bietet NetBeans von eine Annotation samt Processor bereit um diese Einträge direkt im Quelltext zu schreiben: @ServiceProvider.

In einer NetBeans RCP Anwendung ohne weiteres nutzbar und sogar zu bevorzugendes Mittel. Allerdings wäre so etwas in einer eigenen Standard Java Anwendung auch cool ((Um damit zum Beispiel eigene Processor Implementierungen zu registrieren.)). Ich hatte so etwas zwar auch schon mal selber geschrieben ((leider finde ich gerade die Quellen dazu nicht)) aber ganz so gut wie die NetBeans Implementierung war das dann doch nicht. Allerdings ist es relativ einfach möglich die Annotation von NetBeans in den eigenen Java SE Projekten zu nutzen: Read More

Ant-basierte Suite Projekte mit Jenkins erstellen

Auf dem letzten NetBeans Training wurde ich von Geertjan gefragt wie wir bei uns den Continuous Integration Server Jenkins dazu nutzen um unsere WZL Gear Toolbox automatisch generieren zu lassen. Das großen Problem ist, dass Jenkins zwar sehr einfach Maven Builds einbinden kann und zusammen mit Maven auch Suiteprojekte sehr einfach einzufügen ist aber für Ant-basierte Projekten funktioniert das so einfach nicht. Das Buildskript benötigt einige Informationen wo zum Beispiel die NetBeans Platform selber sich befindet. Ein so genannter „headless build“ wird von NetBeans selbst nicht unterstützt. Read More

NetBeans Suite Translator — Project Kenai

Ich habe auf Kenai.com ein neues Projekt angelegt:
NetBeans Suite Translator
Ein erster Versuch das Lokalisieren einer RCP Anwendung in NetBeans etwas einfacher zu gestalten.

Das erste Modul bietet im Moment in einem Suiteprojekt einen zusätzlichen Node „Text Bundles“ an in dem alle Bundles aus den Suitemodulen aufgelistet werden. Ziel von diesem Modul soll sein, dass in der Projektansicht schon mal angezeigt wird, welche Bundles noch unvollständig sind.

Derzeit werde ich noch keine NBMs anbieten, da noch alles im „alpha“ Stadium ist ((und auch noch ein paar Eigenheiten von meiner Arbeitstätte enthalten sind)). Wer Interesse hat kann sich aber gerne melden und mit programmieren.

Jens

Arbeiten mit dem GUI Builder Matisse

Die NetBeans IDE hat ein nettes und äußerst Hilfreiches Feature um eigene Benutzeroberflächen zu gestalten. Fast ohne sich um irgendwelche LayoutManager und deren sinnvolle Verschachtelung zu kümmern lassen sich mit dem „Matisse GUI Builder“ auch komplexe Eingabemasken erstellen und bearbeiten. Read More