Mar 03

Gestern hatte ich ein merkwürdiges Phänomen. Ich öffnete ein kleines Projekt in Eclipse und wollte es starten, jedoch erhielt ich eine unschöne Fehlermeldung: Could not find main class. Daraufhin habe ich kurz geprüft ob die Main-Methode tatsächlich richtig von mir angelegt wurde und ja das wurde sie. Es ist wirklich nur eine simple Klasse mit nichts weiter als einer Main Methode. Warum aber findet Eclipse die Methode nicht zum Ausführen?

Einige Anfragen bei Google ließen mich checken ob der Pfad zu Ant HOME richtig gesetzt ist(siehe: http://www.herrodius.com/blog/42). Der Pfad war vollkommen korrekt doch meine Main Methode wurde nach wie vor nicht gefunden. Ein anderes Projekt im gleichen Workspace lief und so fing ich an die Projekte zu vergleichen. Mit fiel auf, dass das funktionsfähige Projekt ohne Maven Dependency Management auskamen. Also deaktivierte ich das Dependency Management und probierte einen Start aus. Die Main Methode wurde nun gefunden. Danach aktivierte ich das Dependency Management wieder und welch Überraschung – das Main Methode wurde auch weiterhin gefunden.

Tagged with:
Jul 19
 

Maven IndexesHier möchte ich euch kurz mein heutiges Problemm schildern. Ich habe Eclipse Helios und über den Eclipse Marketplace Sonatype’s m2eclipse und die dazugehörigen Extras installiert. Ich habe in der Vergangenheit schon gute Erfahrungen mit dem Maven 2 Plugin gemacht. Um ein zusätzliches Repository zu dem Standard Nexus hinzufügen musste man die Maven Indexes View hervorholen. Dort konnte man komfortabel ein weiteres Repository anlegen. Heute habe ich aber nur eine View namens "Maven Repositories" gefunden und keinen Button zum hinzufügen eines weiteren Repositories. Also schaute ich bei Sonatype in die Dokumentation und die zeigte weiterhin den mir bisher bekannten Weg. Wenn die Maven Indexes View also nicht existiert, wie soll ich dann ein neues Repository hinzufügen?

Lösung: Die Maven Repository View zeigt das lokale ein globales und alle von Projekte referenzierten Maven RepositoriesRepositories an. Das heißt wenn man in die POM eines Projektes erstmal ein Repository eingetragen hat, sieht man es nach dem Speichern auch in der neuen View. Ich finde den neuen Weg persönlich weniger intuitiv als die vorherige Lösung. Zudem zeigt die Dokumentation von Sonatype noch den alten Weg.

Beispiel: Für mein jBPM 4.3 Projekt müssen folgende Zeilen in die pom.xml eingefügt werden damit das Repository mit aufgenommen wird.

 

  
     
  	jboss
  	JBoss Repository
  	http://repository.jboss.com/maven2
    
  

Danach kann wieder komfortabel in Maven Manier nach den gewünschten Dependencies gesucht werden. Da ich speziell mit jBPM 4.3 entwickle möchte ich euch die folgende Quelle ans Herz legen, die Dependencies für jBPM 4 auch nett visualisiert: http://community.jboss.org/wiki/jBPM4MavenDependencies.

Tagged with:
Oct 27

_TMT_ScreenshotIn diesem Artikel möchte ich kurz das Ergebnis von einem Projekt des letzten Semesters (Knowledge Networks and Semantic Technologies // SoSe2009 // TU Berlin) vorstellen. In dem Projekt ging es um die Analyse vorhandener E-Mails hinsichtlich der vorkommenden Themen und deren Verbreitung in dem E-Mail Netzwerk. Die Ausgangsdaten waren E-Mails vom Konkurs gegangenen US-Gas-Konzern Enron. Uns lagen knapp 70 000 Mails vor, die das entstandene Topic Map Tool auf interessante Themen untersucht und die Korrelationen von Keywords berechnet. Um wirklich interessante Themen im nicht standardisierten E-Mail Verkehr zu identifizieren, kamen Regular Expressions, Stopword-Listen sowie die Wordnet-Searching-API zum Einsatz. Mit diesen Technologien wurden relevante Keywords aus den E-Mails gesammelt und deren Korrelationen zu anderen relevanten Keywords berechnet. Ein wichtiger Faktor für die Berechnung ist, wie häufig zwei korrelierte Wörter zusammen in einer E-Mail auftauchen. Mit Hilfe von Wordnet konnten semantisch gleiche Wörter zu Clustern zusammengefasst oder gefiltert werden. Ebenso half Wordnet bei einer Filterung nach Wortarten, da vor allem Substantive interessante Schlüsselwörter sind.

Das Ergebnis der Analyse war ein Datenbank Dump, der im Commetrix Schema gespeichert wurde. So konnten die Ergebnisse mit Hilfe von Commetrix visualisiert werden. Die Ergebnisse seht Ihr auf den Screenshots weiter unten.

Exemplarisch starke Korrelationen bestanden zum Beispiel zwischen den Worten Gas und Price sowie zwischen President und Election. Unzählige weiter Beispiele könnte ich an dieser Stelle auflisten. Zusammenfassend hat die Lehrveranstaltung sehr viel Spaß gemacht und mich für das Thema semantische Netze begeistert.

 

Screenshot der Anwendung

 

image

    Screenshots der visualisierten Topic Map

     

    TMT_Screenshot05 TMT_Screenshot03

Tagged with:
Aug 17

imageVor kurzem wurde ich mal wieder gezwungen mit Netbeans zu arbeiten. Und naja was soll ich sagen. Ich habe schon immer eine gewisse Distanz zu der IDE obwohl ich in diesem Semester auch einige Bequemlichkeiten kennengelernt habe. Was mir aber aktuell passiert ist, finde ich so dämlich!!!

In meinem Java Projekt habe ich eine Datenbank Verbindung in der persistence.xml konfiguriert. So bin ich es aus Eclipse gewohnt und es funktioniert alles bestens. Die Anwendung konnte unter Netbeans jedoch keine Verbindung zu meiner Datenbank herstellen. Und nun haltet imageeuch fest: Wenn man die Datenbank in der IDE gesondert einträgt unter dem Tab "Services" ist Netbeans so schlau und erkennt, dass die Verbindung scheinbar doch richtig konfiguriert wurde und stellt die Verbindung zur Datenbank her. Warum reicht es Netbeans denn nicht wenn die Verbindung in der XML eingetragen ist? Wenn jemand von euch Details dazu hat, lasst es mich doch bitte wissen.

Tagged with:
Aug 10

An dieser Stelle möchte ich kurz eine Liste meine Eclipse Plugins präsentieren. Vielleicht ist für euch etwas neues dabei oder ihr habt unter Umständen nette Empfehlungen für mich.

Versionierung

Code Analyse:

  • JDepend: Tool zur Analyse von Architektur und Abhängigkeiten
  • PMD: Code Analyse, sucht nach potentiellen Bugs und Problemen

Codestyle:

  • Checkstyle: Regelsystem zur Einhaltung von Code Konventionen
  • JAutodoc: automatische Generierung von Javadoc Kommentaren

Testing / Code Coverage:

Build

Development

  • JBoss Tools: nützlich für die Entwicklung mit dem JBoss Application Server

 

Seid Ihr mit meiner Plugin Sammlung zufrieden oder gibt es Plugins, die hier unbedingt mit auftauchen sollten? Mir fällt noch eines ein, dass ich schon ewig nicht mehr benutzt habe – der Visual Editor. Da die Entwicklung des Visual Editors nur schleppend voran ging und die Unterstützung in neueren Eclipse Versionen nicht immer gegeben war, habe ich mich regelmäßig mit dem guten Editor von Netbeans beholfen.

Tagged with:
Jul 01

moz-screenshot-1Letzte Woche wurde ich spontan von einer Kommilitonin zu einem Vortrag zweier Musikstudenten geschleppt, die etwas sehr tolles entwickelt hatten. Auf dem Weg dorthin beschrieb sie, dass die beiden Amerikaner einen Tisch mit einer Multitouch-Oberfläche gebaut hatten auf dem man mit Hilfe der Hände Musik machen kann. Idee des Ganzes ist es intuitiv Musik machen zu können ohne die klassische Hürde zu haben ein kompliziertes Instrument lernen zu müssen.

Als wir in dem völlig überfüllten (und kleinen) Raum ankamen verbreitete sich schon ein wenig Faszination, denn in der Mitte des abgedunkelten Raums stand der besagte Tisch. Die beiden Entwickler waren gerade dabei die Steuerung des Tisches zu kalibrieren und tippten eine Reihe von kleinen Kreuzen an. Diese Prozedur wiederholte sich einige Male und dann ging es ans Eingemachte.

Die Beiden (Jordan und Owen) stellten zunächst die Entwicklung des Tisches, also die Hardware, vor. Überraschend war, dass kein Teil der verwendeten Hardware etwas Super-Außergewöhnliches war. Sie nahmen ein Beamer, ein PS3 Kamera, einige Infrarot LEDs, eine Plexiglasscheibe und ein Gestell. Vom Prototyp bis zur leicht transportablen Version von heute vergingen eineinhalb Jahre.

Anschließend wurde die darunterliegende Software vorgestellt. Die Jungs kombinierten Processing, Reaktor, Java Programme und ein Open-Source Framework zur Form und Positionsbestimmung. Interessanterweise studieren die beiden Musik und haben sich nebenbei die nötigen Programmierkenntnisse angeeignet was ich beachtlich finde!

Also schaut euch Brick mal an!

Tagged with:
Jun 20

Der folgende Artikel soll helfen einen BPEL Process mit Netbeans zu erstellen und auf den Glassfish Application Server zu deployen. Doch zunächste beschreibe ich kurz das vorhaben. Der BPEL Prozess nutzt insgesamt drei Web Services (YingService, YangService und MatchService). Der YingService benötigt keinen Parameter und liefert den String "Ying" zurück. Der YangService arbeitet analog zum YingService. Diese beiden Service arbeiten parallel! Der MatchService nimmt zwei Parameter vom Typ String entgegen und konkateniert diese beiden Strings und den String "Fit". Danach wird der zusammengesetzte String vom MatchService zurückgeliefert. Die einzelnen Web Services interessieren den Benutzer des BPEL Prozesses nicht, da dieser nach außen wie ein simpler Web Service (z.B. YingService) wirkt.

Nachdem das Ziel beschrieben ist kann die Arbeit beginnen. Ich habe sehr viele Screenshots verwendet um den Weg möglichst anschaulich zu machen.

Insgesamt werden 4 Projekte angelegt. Beginnen möchte ich mit einem Projekt, dass die einzelnen WebServices (YingService, YangService und MatchService) enthält, die dann im BPEL Prozess verwendet werden.

imageDazu legen wir einfach eine neue Web Application an und fügen anschließend die drei WebServices hinzu.

 

 

 

 

 

Continue reading »

Tagged with:
May 23

image Bei der Suche nach einem EPK Tool (Aris), habe ich eine Erweiterung für mein geliebtes UML Programm Enterprise Architect (EA) gefunden. Auf dieser Seite von Sparx Systems wird das neue Profil für Ereignisgesteuerten Prozessketten kurz vorgestellt und runterladen könnt ihr das Profil hier. Die folgenden Absätze sollen euch bei der Installation helfen.

Continue reading »

Tagged with:
May 19

image

Vor kurzem habe ich von einem Interface Designer Entwürfe für eine Programmoberfläche bekommen und war erstaunt über den Look der Entwürfe. Das ganze sah aus wie mit einem Stift gezeichnet und machte einen sehr guten Eindruck bei mir.

Ich erfuhr, dass die Entwürfe mit einem Mockup Tool namens Balsamiq Mockup erstellt wurden. Ein kurzer Besuch auf der Webseite von Balsamiq zeigte wie einfach die Software gestrickt ist und wie leicht damit jedermann schöne Software Entwürfe zusammenklicken kann.

Mit diesen Entwürfen in der Hand ist es einfach Vorgesetzte, Kollegen oder Kunden eine Idee der Visualisierung zu vermitteln. Das besondere ist, dass der skizzenhafte Zeichenstil Kunden nicht in den Glauben versetzt die Software sei schon fertig. Sind die Entwürfe nämlich im exakten Look der künftigen Oberfläche, denkt der Kunde die Software sei bereits fertig und versteht nicht warum er noch viel Geld bezahlen soll.

Continue reading »

Tagged with:
May 03

image

Es gibt nur eine Kleinigkeit zu berichten. Nach der Installation der Maven Integration (Update Site: http://m2eclipse.sonatype.org/update) hat Eclipse gemeckert, dass es mit einem JDK laufen muss und der Pfad zur Virtual Machine in der eclipse.ini stehen muss.

Dabei sollte das so aussehen:

...
-vm
C:\Programme\Java\jdk1.6.0_12\bin
...

nicht:

...
-vm C:\Programme\Java\jdk1.6.0_12\bin
...

Das heißt der Pfad soll auch auf das bin Verzeichnis zeigen.

Tagged with:
preload preload preload