<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Just another tech blog ... &#187; Java</title>
	<atom:link href="http://hexor2k.wordpress.com/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://hexor2k.wordpress.com</link>
	<description>... about (mobile) Linux and Java</description>
	<lastBuildDate>Thu, 31 Dec 2009 11:15:03 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='hexor2k.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/3350773e6f25e0db7b7f27bdf342b466?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Just another tech blog ... &#187; Java</title>
		<link>http://hexor2k.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hexor2k.wordpress.com/osd.xml" title="Just another tech blog &#8230;" />
		<item>
		<title>Greetings from SHR</title>
		<link>http://hexor2k.wordpress.com/2009/08/13/greetings-from-shr/</link>
		<comments>http://hexor2k.wordpress.com/2009/08/13/greetings-from-shr/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 14:36:44 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Java on Openmoko]]></category>
		<category><![CDATA[Openmoko]]></category>
		<category><![CDATA[DBus]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Stable Hybrid Release]]></category>
		<category><![CDATA[SWT]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=460</guid>
		<description><![CDATA[Nun also doch. Seit vorgestern bin ich glücklicher User von SHR-Unstable (Version vom 08.08.). Ich bin regelrecht begeistert, wie stabil und zuverlässig das System nach einigen Anpassungen läuft. Nur von opkg-cl upgrade sollte man die Finger lassen  
Nach dem Einbinden der Jalimo-Repos installieren sich jetzt auch alle Java-VMs und die SWT- bzw. Java-DBus-Packages.
Wunderbar. Der [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=460&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nun also doch. Seit vorgestern bin ich glücklicher User von SHR-Unstable (Version vom 08.08.). Ich bin regelrecht begeistert, wie stabil und zuverlässig das System nach einigen Anpassungen läuft. Nur von <em>opkg-cl upgrade</em> sollte man die Finger lassen <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Nach dem Einbinden der Jalimo-Repos installieren sich jetzt auch alle Java-VMs und die SWT- bzw. Java-DBus-Packages.</p>
<p>Wunderbar. Der Urlaub ist gerettet. Die Basteleien mögen beginnen <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/460/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=460&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2009/08/13/greetings-from-shr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Java + DBus + OM2009 = Zicken ohne Ende</title>
		<link>http://hexor2k.wordpress.com/2009/05/12/java-on-openmoko-2/</link>
		<comments>http://hexor2k.wordpress.com/2009/05/12/java-on-openmoko-2/#comments</comments>
		<pubDate>Tue, 12 May 2009 19:21:37 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Java on Openmoko]]></category>
		<category><![CDATA[DBus]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Openmoko]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=433</guid>
		<description><![CDATA[Die letzten Tage hatte ich etwas Zeit, mit Java und DBus auf meiner KDE-Kiste rumzuspielen. Da es jetzt unter Debian läuft, war mein nächster Versuch, es auf dem Neo Freerunner auszuprobieren. Da meine aktuelle OM2008.12-Distri leider noch nicht das DBus-basierte FSO-Framework verwendet, habe ich mir die Testing-Version von OM2009 auf die Speicherkarte installiert. Hier fängt [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=433&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Die letzten Tage hatte ich etwas Zeit, mit Java und DBus auf meiner KDE-Kiste rumzuspielen. Da es jetzt unter Debian läuft, war mein nächster Versuch, es auf dem Neo Freerunner auszuprobieren. Da meine aktuelle OM2008.12-Distri leider noch nicht das DBus-basierte FSO-Framework verwendet, habe ich mir die Testing-Version von OM2009 auf die Speicherkarte installiert. Hier fängt auch schon die Leidensgeschichte an <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Nach einer halben Ewigkeit sieht man das sehr karge, eigentlich nur schwarz-weiße, User-Interface. Hier mal ein kleiner Screenshot:</p>
<div class="wp-caption aligncenter" style="width: 213px"><img title="Paroli Launcher" src="http://www.paroli-project.org/wp-content/uploads/2009/03/home.png" alt="Paroli Launcher" width="203" height="271" /><p class="wp-caption-text">Paroli Launcher</p></div>
<p>Mit Java siehts irgendwie düster aus. Es gibt zwar wieder die Standard-Packages in dem Testing-Repository, aber alles in Richtung DBus-Java, etc. fehlt. Hier kann man nur auf die Jalimo-Repositories ausweichen, welche aber leider veraltet sind und irgendeine Abhängigkeit auf eine nicht mehr vorhandene libgcc haben. Toll <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Für heute mach ich mal Feierabend. In den nächsten Tagen wird das Image neu geflasht oder ein anderes verwendet. Vielleicht klappts ja dann. Folgender <a title="Thread" href="http://freeyourphone.de/portal_v1/viewtopic.php?f=58&amp;t=1134&amp;p=12288&amp;hilit=dbus#p11994" target="_blank">Thread</a> hat mich doch etwas zuversichtlich gestimmt.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/433/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/433/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/433/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=433&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2009/05/12/java-on-openmoko-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>

		<media:content url="http://www.paroli-project.org/wp-content/uploads/2009/03/home.png" medium="image">
			<media:title type="html">Paroli Launcher</media:title>
		</media:content>
	</item>
		<item>
		<title>Java on Openmoko: Remote Tools</title>
		<link>http://hexor2k.wordpress.com/2009/01/18/java-on-openmoko-remote-tools/</link>
		<comments>http://hexor2k.wordpress.com/2009/01/18/java-on-openmoko-remote-tools/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 17:21:08 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Java on Openmoko]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Cacao]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[JamVM]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Neo Freerunner]]></category>
		<category><![CDATA[Openmoko]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=382</guid>
		<description><![CDATA[Hallo, jetzt habe ich schon einige Zeit nichts mehr hören lassen. Während ich nun den Klängen von Apocalyptica lausche gibts jetzt wieder eine feine Prise Java gemischt mit einem Hauch von Eclipse und das alles serviert auf einem frischen Neo Freerunner    


Yoxos: Hier wollte ich noch etwas spielen, jedoch scheint der Dienst [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=382&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hallo, jetzt habe ich schon einige Zeit nichts mehr hören lassen. Während ich nun den Klängen von Apocalyptica lausche gibts jetzt wieder eine feine Prise Java gemischt mit einem Hauch von Eclipse und das alles serviert auf einem frischen Neo Freerunner <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-382"></span></p>
<ol>
<li><strong>Yoxos:</strong> Hier wollte ich noch etwas spielen, jedoch scheint der Dienst schon wieder Probleme mit der Verfügbarkeit zu haben <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
<li><strong>Java 1.5:</strong> Hier habe ich die JamVM ausprobiert, eine alternative VM zu Cacao. Allerdings hat JamVM die gleiche Schwäche wie Cacao, nämlich keinen Debug-Modus. Sollte mal ein Problem nur auf dem Zielgerät auftreten, guckt man als Entwickler in die Röhre, weil man nicht debuggen kann. Hier werde ich versuchen, mal die IBM J9 für ARM-Linux auszuprobieren. Mal schauen, wie diese VM sich unter Linux schlägt. Unter Windows Mobile hatte ich schon das Vergnügen. Hier sind es allerdings die vielen WinCE-Bugs, die einem den Spaß vermiesen können, aber das ist eine andere Geschichte <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Es ist außerdem ein bisschen Aufwand, die JamVM in Eclipse zu integrieren. Bei mir ging das zuerst dank der Erfahrungen mit Cacao ganz einfach, jedoch startet die JamVM bei mir grad aus unerfindlichen Gründen nicht mehr.</li>
<li><strong>Equinox:</strong> Hier habe ich gemerkt, dass Equinox mit der JamVM ein bisschen schneller startet. Grob eine Sekunde eher als mit Cacao.</li>
<li><strong>SWT:</strong> Hier gibts nix neues. Eclipse erlaubt mir nach wie vor nicht, eine zweite Java-GUI-Anwendung laufen zu lassen, die auf SWT zugreift. Der Fehler ist aber bekannt und ich muss das wohl hinnehmen <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
<li><strong>eRCP:</strong> Unverändert</li>
<li><strong>ANT-Skripte, Deployment:</strong> Hier habe ich schon etwas herumexperimentiert. Zum Einen bietet das Freerunner die Möglichkeit, lokale Verzeichnisse mittels SFTP zu mounten. Die funktioniert ohne Probleme. Eine gute Lösung wäre, ein ANT-Skript zu erstellen, dass zuerst lokal ein Deployment-Verzeichnis erstellt und dieses dann mit dem Freerunner synchronisiert. Hier habei ich rsync als Sync-Tool ausgewählt. Probleme gibt es noch damit, dass auf dem Freerunner alle Dateien mit Root-Rechten versehen werden und der Client da manchmal nicht mitspielt.<br />
Zudem habe ich mir das Eclipse-Plugin <strong>Remote System Explorer (RSE)</strong> angeschaut, eine Sammlung von Tools zur Kommunikation mit anderen Rechnern. Zu diesen Tools gehören unter anderem ein SSH-Client für die Eclipse-Konsole, sowie die Möglichkeit, Filter für entfernte Verzeichnisse anzulegen. Eine Mount-Option habe ich noch nicht gefunden, es gibt allerdings die Funktion, ein entferntes Verzeichnis als Eclipse-Projekt einzubinden, was so ähnlich funktioniert.</li>
<li><strong>Accelerometer:</strong> Hier versuche ich gerade die Datenstruktur zu verstehen. Das Auslesen der event-Dateien funktioniert ohne Probleme. Als nächstes werde ich das Tool netcat ausprobieren, mit dem ich die event-Dateien auf meinen Entwicklungsrechner holen könnte.</li>
<li><strong>Anwendungs-Architektur:</strong> Ich habe mir schon einige Punkte überlegt, so soll es auf jeden Fall ein Plugin für die Accelerometer-Interpretation geben, sowie eines für die GUI. Logging der Daten wird noch optional mit eingebaut.</li>
<li><strong>Anwendung:</strong> Ein bisschen Code existiert schon, ich bastle aber noch sehr viel dran rum.</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/382/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/382/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/382/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=382&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2009/01/18/java-on-openmoko-remote-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Java on Openmoko: SWT läuft :)</title>
		<link>http://hexor2k.wordpress.com/2009/01/02/java-on-openmoko-swt-lauft/</link>
		<comments>http://hexor2k.wordpress.com/2009/01/02/java-on-openmoko-swt-lauft/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 13:07:29 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Java on Openmoko]]></category>
		<category><![CDATA[Jalimo]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Openmoko]]></category>
		<category><![CDATA[SWT]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=370</guid>
		<description><![CDATA[Nach etwas Gebastel und Lesen von Mailing Listen habe ich nun SWT zum Laufen gebracht. Meine Meilensteine ändern sich nun wie folgend:


Yoxos: Ist nun wieder Online, ich habe aber Eclipse noch nicht richtig im Einsatz. Das kommt nun mehr ins Spiel.
Java 1.5: DONE, siehe http://hexor2k.wordpress.com/2008/12/27/erster-status/
Equinox: DONE, siehe http://hexor2k.wordpress.com/2008/12/27/erster-status/
SWT: Läuft nun, man muss folgende Punkte durchführen:

Zuerst [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=370&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Nach etwas Gebastel und Lesen von Mailing Listen habe ich nun SWT zum Laufen gebracht. Meine Meilensteine ändern sich nun wie folgend:</p>
<p style="text-align:justify;"><span id="more-370"></span></p>
<ol style="text-align:justify;">
<li><strong>Yoxos:</strong> Ist nun wieder Online, ich habe aber Eclipse noch nicht richtig im Einsatz. Das kommt nun mehr ins Spiel.</li>
<li><strong>Java 1.5:</strong> DONE, siehe <a href="http://hexor2k.wordpress.com/2008/12/27/erster-status/">http://hexor2k.wordpress.com/2008/12/27/erster-status/</a></li>
<li><strong>Equinox:</strong> DONE, siehe <a href="http://hexor2k.wordpress.com/2008/12/27/erster-status/">http://hexor2k.wordpress.com/2008/12/27/erster-status/</a></li>
<li><strong>SWT:</strong> Läuft nun, man muss folgende Punkte durchführen:
<ol>
<li>Zuerst müssen die OPKG-Quellen so wie <a href="https://wiki.evolvis.org/jalimo/index.php/Packages#OpenMoko">hier</a> beschrieben angepasst werden. Die Pakete <em>libswt3.4-gtk-java</em> und <em>libswt3.4-gtk-jni</em> sollten installiert sein.</li>
<li>Auf dem Buildrechner das SWT-Programm (ich hab das <a href="https://wiki.evolvis.org/jalimo/index.php/OpenMoko#SWT_GUI_Application">Beispiel</a> von der Jalimo-Homepage verwendet) bauen mit folgendem Kommando: <em>javac -cp /usr/share/java/swt.jar Sample1.java</em>. Der Pfad und der Name von <em>swt.jar</em> kann je nach Distribution variieren, z.B. <em>/usr/lib</em> als Pfad oder <em>swt-gtk.jar</em> bzw. <em>swt-gtk3.4.jar </em>als Name.</li>
<li>Das Programm muss nun auf den Zielrechner kopiert und mit folgendem Kommando gestartet werden: <em>java -cp /usr/share/java/swt.jar:/usr/lib/jni:. Sample1. </em>Auch hier können Pfade und Namen variieren, die von mir Gewählten gelten für das aktuelle FDOM Image. Der Startbefehl von der Jalimo-Homepage funktioniert nicht, da hier nur die <em>swt.jar</em> auf dem Classpath gesetzt wird und nicht das aktuelle Verzeichnis.<br />
Sollte man den Fehler &#8222;<em>Exception in thread &#8222;main&#8220; org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]</em>&#8220; erhalten so muss man noch &#8222;<em>export DISPLAY=:0</em>&#8220; ausführen, dann geht es.<br />
Erhält man &#8222;<em>Exception in thread &#8222;main&#8220; java.lang.UnsatisfiedLinkError: no swt-gtk-3448 or swt-gtk in swt.library.path, java.library.path or the jar file</em>&#8222;, so konnte die native SWT-Bibliothek nicht gefunden werden. Diese sollte eigentlich im Pfad <em>/usr/lib/jni</em> liegen. Ihr Name ist <em>libswt-gtk-3448.so</em>.</li>
<li>Diesen Punkt möchte ich nun auch als DONE bezeichnen <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <strong><br />
</strong></li>
</ol>
</li>
<li><strong>eRCP:</strong> Unverändert, niedrige Priorität.</li>
<li><strong>ANT-Skripte, Deployment:</strong> Nächster Punkt.</li>
<li><strong>Accelerometer:</strong> Nicht begonnen.</li>
<li><strong>Anwendungs-Architektur:</strong> Nicht begonnen.</li>
<li><strong>Anwendung:</strong> Nicht begonnen.</li>
</ol>
<p style="text-align:justify;">Nachdem jetzt die Funktionalitäten getestet sind, werde ich mich nun auf Eclipse stürzen um diese auf die Openmoko-Entwicklung anzupassen. Dazu kommen jetzt auch die Skripte für Deployment ins Spiel.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/370/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/370/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/370/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=370&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2009/01/02/java-on-openmoko-swt-lauft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Java on Openmoko: Erste Erkenntnisse</title>
		<link>http://hexor2k.wordpress.com/2008/12/27/erster-status/</link>
		<comments>http://hexor2k.wordpress.com/2008/12/27/erster-status/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 21:40:39 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Java on Openmoko]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[eRCP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Openmoko]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[RCP]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=364</guid>
		<description><![CDATA[Hier der aktuelle Status meiner Meilensteine für Java auf Openmoko:


Yoxos: Die Yoxos on Demand Homepage ist gerade down, alle Admins sind wahrscheinlich im Urlaub   Ich habe mir glücklicherweise schon vor einigen Tagen eine eigene Eclipse per Yoxos erstellt und die nutze ich jetzt. Hier ist natürlich noch etwas Finetuning der Plugins notwendig.
Java 1.5: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=364&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hier der aktuelle Status meiner Meilensteine für Java auf Openmoko:</p>
<p><span id="more-364"></span></p>
<ol>
<li><strong>Yoxos:</strong> Die <a href="http://www.yoxos.com/ondemand"><strong>Yoxos on Demand</strong> Homepage</a> ist gerade down, alle Admins sind wahrscheinlich im Urlaub <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Ich habe mir glücklicherweise schon vor einigen Tagen eine eigene Eclipse per Yoxos erstellt und die nutze ich jetzt. Hier ist natürlich noch etwas Finetuning der Plugins notwendig.</li>
<li><strong>Java 1.5:</strong> Das <strong>Hello-World-Programm</strong> läuft mit der <strong>Cacao VM</strong> und <strong>Java 1.5 Bytecode</strong>. Für Cacao habe ich ein Package in Debian Sid gefunden und installiert. In Eclipse kann man Cacao als Execution Environment einbinden, indem man eine neue Standard VM mit dem JRE-Home-Verzeichnis <strong>/usr/lib/jvm/cacao/jre/</strong> erstellt. Das JRE des Java-Projekts muss auf Cacao geändert werden, ebenso die zugehörige Runconfiguration. Zusätzlich muss man bei der Runconfiguration noch die Umgebungsvariable <strong>java.library.path</strong> auf <strong>/usr/lib/jvm/cacao/jre/lib</strong> und die den darunterstehenden Radiobutton auf <strong>&#8222;Replace native environment with specified environment&#8220;</strong> setzen, da ansonsten Eclipse den SUN-JRE-Classpath verwenden will, was zu der Fehlermeldung <em>&#8222;main: lt_dlsym failed: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/i386/client/libjvm.so: undefined symbol: vm_createjvm&#8220;</em> führt. Außerdem sollte man sich die JRE-Binaries genau ansehen, <strong>javah</strong> von Cacao wird in Debian auf das javah vom SUN-JRE gelinkt. Man sollte hier also nur <strong>java</strong> verwenden.</li>
<li><strong>Equinox: </strong>Der Start von <strong>Equinox</strong> funktioniert ebenfalls, allerdings dauert es ziemlich lange, bis sich etwas tut. Ich habe darauf hin die OSGI-Implementierung von <strong>eRCP</strong> ausprobiert und voilá, in 10 Sekunden startet das Framework und der Logger. Ich werde deshalb für das weitere Vorgehen die eRCP-Bundles verwenden.</li>
<li><strong><em>SWT: </em></strong>TODO. Die SWT-Anwendung von der <a href="https://wiki.evolvis.org/jalimo/index.php/OpenMoko">Jalimo-Homepage</a> funktioniert leider nicht. Ich glaube, ich steh hier grad aber auf dem Schlauch. Der Aufruf, wie er auf der Homepage beschrieben wird, sollte nach meinem Verständnis nicht funktionieren.</li>
<li><strong>eRCP<em>T</em>:<em> </em></strong>TODO. Native Java Bundles sollten funktioneren. Bundles mit eingebetteten DLLs oder SWT werden aber wahrscheinlich zu Fehlern führen.</li>
<li><strong>ANT-Skripte, Deployment:</strong> TODO. Schon jetzt nervt das ewige Herumkopieren mit SCP. Wenn die Tests abgeschlossen sind, werde ich zuerst hier weiterarbeiten.</li>
<li><strong>Accelerometer: </strong>TODO<strong><em><br />
</em></strong></li>
<li><strong>Anwendungs-Architektur: </strong>TODO</li>
<li><strong>Anwendung: </strong>TODO</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=364&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/12/27/erster-status/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Java on Openmoko</title>
		<link>http://hexor2k.wordpress.com/2008/12/26/java-on-openmoko/</link>
		<comments>http://hexor2k.wordpress.com/2008/12/26/java-on-openmoko/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 18:39:49 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Java on Openmoko]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Openmoko]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[RCP]]></category>
		<category><![CDATA[SWT]]></category>
		<category><![CDATA[Yoxos]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=354</guid>
		<description><![CDATA[Nachdem ich jetzt endgültig keine Lust mehr habe, weiter nach einem Service-Component Tracker zu forschen, hat das Neo Freerunner nun wieder meine Kreativität beflügelt   Ich überlege gerade, welche Art von Funktion ich wohl auf dem Handy implementieren könnte.
Von der technischen Seite möchte ich nach folgenden Punkten forschen.

Java als Programmiersprache, hier gilt es die [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=354&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Nachdem ich jetzt endgültig keine Lust mehr habe, weiter nach einem Service-Component Tracker zu forschen, hat das Neo Freerunner nun wieder meine Kreativität beflügelt <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ich überlege gerade, welche Art von Funktion ich wohl auf dem Handy implementieren könnte.</p>
<p style="text-align:justify;"><span id="more-354"></span>Von der technischen Seite möchte ich nach folgenden Punkten forschen.</p>
<ul style="text-align:justify;">
<li><strong>Java</strong> als Programmiersprache, hier gilt es die Möglichkeiten der Cacao VM zu erforschen.</li>
<li><strong>OSGI</strong> als Komponentensystem. Eclipse Equinox ist ja 100% native Java, also sollte es auch laufen.</li>
<li><strong>SWT</strong> als GUI-Schnittstelle, hier gibt es bereits eine Implementierung namens Jalimo, die auf Cacao aufsetzt.</li>
<li><strong>eRCP</strong> als Plattform, wobei dies wahrscheinlich nicht möglich ist, da es eRCP anscheinend nur für Windoof Mobile gibt. Vielleicht funktioniert hier auch die normale <strong>RCP</strong>.</li>
<li><strong>DBus</strong> in Kombination mit Java auf dem Freerunner. Da es schon viele Applikationen mit  DBus-Interface auf dem Freerunner gibt, wäre interessant zu wissen, wie man mit Java darauf zugreifen kann.</li>
<li><strong>Eclipse</strong> als Entwicklungsumgebung. Die Zusammenstellung der benötigten Plugins erfolgt mittels <a href="http://www.yoxos.com/ondemand/"><strong>Yoxos On Demand</strong></a>.</li>
<li><strong>ANT</strong> zum Bauen und Deployen auf dem Gerät, evtl. noch Start und Remote Debugging.</li>
</ul>
<p style="text-align:justify;">Als Programmidee schwebt mir vor, die Accelerometer des Freerunners auszulesen und die aktuelle Beschleunigung anhand von Balken anzuzeigen. Hier könnten dann gleich Echtzeitaspekte mit getestet werden.</p>
<p style="text-align:justify;">Folgende Punkte möchte ich grob als Meilensteine festlegen:</p>
<ol>
<li><strong>Yoxos:</strong> Eine eigene Eclipse-Entwicklungsumgebung mittels Yoxos mit allen von mir benötigten Plugins zusammenstellen.</li>
<li><strong>Java 1.5:</strong> Eine einfache Hello-World-Java-Applikation auf dem Freerunner laufen lassen.</li>
<li><strong>Equinox:</strong> Eine einfache OSGi-Applikation erstellen und auf dem Freerunner laufen lassen.</li>
<li><strong>SWT:</strong> Eine einfache SWT-GUI erstellen und auf dem Freerunner laufen lassen.</li>
<li><strong>eRCP:</strong> Evtl. eine eRCP oder RCP basierte Anwendung erstellen und laufen lassen.</li>
<li><strong>ANT-Skripte, Deployment:</strong> ANT-Skripte für Build und Deployment.</li>
<li><strong>Accelerometer:</strong> Die Accelerometer unter Java auslesen, entweder File-basiert oder mittels Dbus.</li>
<li><strong>Anwendungs-Architektur:</strong> Eine Architektur für die Anwendung festlegen.</li>
<li><strong>Anwendung:</strong> Die Anwendung erstellen.</li>
</ol>
<p>Zeitlich möchte ich mir keine Rahmenbedingungen setzen, da ich diese schon beim Service-Component-Tracker nicht einhalten konnte. <strong>It&#8217;s done when it is done</strong> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/354/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=354&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/12/26/java-on-openmoko/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Projekt-Ideen</title>
		<link>http://hexor2k.wordpress.com/2008/09/30/projekt-ideen/</link>
		<comments>http://hexor2k.wordpress.com/2008/09/30/projekt-ideen/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 18:43:16 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[OSGi]]></category>
		<category><![CDATA[RCP]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=237</guid>
		<description><![CDATA[Da mir zwischen Arbeit, Fußball, Feuerwehr, Blogschreiben   etc. immer noch genug Zeit bleibt, bin ich jetzt am Überlegen, ein kleines Open-Source-Projekt zu starten. Folgende Themen sollten darin vorkommen bzw. Technologien sollten genutzt werden:

Java
OSGi und Equinox
Eclipse und RCP
evtl. OpenGL (und wenns noch geht, Shader)
evtl. EMF


Ich schwanke mittlerweile zwischen 3 Projekt-Zielen:

DS-Tracker: Declarative Services sind leider [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=237&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Da mir zwischen Arbeit, Fußball, Feuerwehr, Blogschreiben <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  etc. immer noch genug Zeit bleibt, bin ich jetzt am Überlegen, ein kleines Open-Source-Projekt zu starten. Folgende Themen sollten darin vorkommen bzw. Technologien sollten genutzt werden:</p>
<ul style="text-align:justify;">
<li>Java</li>
<li>OSGi und Equinox</li>
<li>Eclipse und RCP</li>
<li>evtl. OpenGL (und wenns noch geht, Shader)</li>
<li>evtl. EMF</li>
</ul>
<p style="text-align:justify;"><span id="more-237"></span></p>
<p style="text-align:justify;">Ich schwanke mittlerweile zwischen 3 Projekt-Zielen:</p>
<ul style="text-align:justify;">
<li><strong>DS-Tracker:</strong> Declarative Services sind leider im Equinox-Umfeld noch nicht so besonders integriert. Besonders mühsam ist die Fehlersuche, da oft nur das Log zur Verfügung steht. Ziel des Projekts sollte die Erstellung eines OSGi-Bundles sein, welches Kommandozeilenbefehle ähnlich zu den schon vorhandenen Befehlen zu Bundles, Services etc. bereitstellt, nur Ebene der Service-Komponenten. Damit sollen Service-Komponenten komfortabel abgefragt sowie gestartet und beendet werden können. Als Nebenschauplatz könnten noch Fehlermeldungen von der DS-Implementierung abgefangen und angezeigt werden können, da in manchen Fällen der Logger erst nach dem DS-Bundle startet. Das Projekt sollte eigentlich in kurzer Zeit zu schaffen sein und bietet nochmals einen guten Einstieg in DS und Equinox.</li>
<li><strong>3D-Engine: </strong>Schon etwas ehrgeiziger, hier sollte die Entwicklung einer kleinen Rendering-Engine mittels RCP das Ziel sein. Wesentliche Bestandteile sollten sein, dass das Plug-in ohne Probleme in Eclipse integrierbar ist und dass sich neue Funktionalitäten mühelos einfügen lassen können (mittels Neuimplementierung vorgegebener Interfaces). Meine Idee wäre noch, 3D-Objekte durch ein EMF-Modell darzustellen und von der Engine interpretieren zu lassen. Ein 3D-Modell-Editor mit grafischer Anzeige könnte ebenfalls herausfallen.</li>
<li><strong>RCP-Desktop:</strong> Beim philosophieren über OSGI und RCP auf der Arbeit <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  kam uns der Gedanke, dass ja OSGI und RCP quasi eine Art Betriebssystem für die JVM darstellen. In der Tat übernimmt RCP schon eine große Menge an Aufgaben wie z.B. File-Handling, Threading, GUI-Elemente &#8230; Unsere Idee war, aufbauend auf den vorhandenen Diensten eine Desktop-Shell zu erstellen welche komplett in RCP implementiert ist. Dies ist in ähnlicher Form nur durch das &#8222;Java Desktop System&#8220; von Sun erhältlich, dieses baut jedoch meines Wissens nicht auf OSGI und RCP auf.<br />
Eine Idee war noch das Organisieren des Desktops nach Aufgaben, welche natürlich den Perspektiven aus RCP entsprechen. Beispiele wären eine File-System-Perspektive mit Views speziell für Dateisysteme, eine Development-Perspektive mit Entwicklungstools (Editor, Konsole, SVN &#8230;) oder eine Multimedia-Perspektive mit Media-Player, Meta-Daten-Browser &#8230;<br />
Das Projekt an sich ist natürlich <strong>sehr</strong> ehrgeizig und selbst mit einer kleinen Gruppe nur schwer vor dem 22. Jahrhundert zu schaffen sein, aber irgendwie geht mir die Idee nicht mehr aus dem Kopf.</li>
</ul>
<p>So, nun sind die Ideen niedergeschrieben, wahrscheinlich werde ich mir erst mal über den DS-Tracker näher Gedanken machen, da ich eine solche Lösung auch akut auf der Arbeit brauchen könnte und sie sich auch in den Folgeprojekten gut bewähren könnte.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/237/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=237&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/09/30/projekt-ideen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Howto debug ANT Tasks</title>
		<link>http://hexor2k.wordpress.com/2008/09/03/howto-debug-ant-tasks/</link>
		<comments>http://hexor2k.wordpress.com/2008/09/03/howto-debug-ant-tasks/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 10:39:07 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Howtos]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=174</guid>
		<description><![CDATA[Jeder, der schon einmal selbst einen ANT Task geschrieben hat, kennt das Problem:
Man kann zwar ANT Scripts debuggen (innerhalb von Eclipse), in einen Task kann man aber nicht springen. Falls der Task wegen Fehlern abbricht, sieht man meist nur eine lapidare Fehlermeldung. Eine Hilfe wäre es zwar, Debugmeldungen via sysout auszugeben, schön ist das jedoch [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=174&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Jeder, der schon einmal selbst einen ANT Task geschrieben hat, kennt das Problem:</p>
<p style="text-align:justify;">Man kann zwar ANT Scripts debuggen (innerhalb von Eclipse), in einen Task kann man aber nicht springen. Falls der Task wegen Fehlern abbricht, sieht man meist nur eine lapidare Fehlermeldung. Eine Hilfe wäre es zwar, Debugmeldungen via sysout auszugeben, schön ist das jedoch nicht.</p>
<p style="text-align:justify;">Abhilfe schafft hier der <strong>Java Remote Debugger</strong>: Da ANT selbst eine Java-Anwendung ist, kann man diese im Debug-Modus starten. Zusätzlich meldet man diese Anwendung noch an einem Netzwerksocket als Remote Application an. Danach kann man von außen mittels einer eigenen Debugging-Instanz auf die Anwendung zugreifen und auf alle ihrer Breakpoints reagieren. Das folgende Beispiel bezieht sich auf die Eclipse IDE, mit anderen IDEs sollte es aber auch funktionieren.<br />
<span id="more-174"></span><br />
So, nun das ganze mal als Code:</p>
<pre style="text-align:justify;"><code>
echo off
set ECLIPSE_HOME=""
set WORKSPACE=""
set PROJECT=""

%ECLIPSE_HOME%\eclipsec.exe -nosplash -data %WORKSPACE%
  -application org.eclipse.ant.core.antRunner
  -buildfile %WORKSPACE%\%PROJECT%\build.xml
  -vmargs -Xdebug -Xnoagent -Djava.compiler=NONE
  -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
echo on</code></pre>
<p style="text-align:justify;">ANT wird via Batch-File als Eclipse-Headless-Application gestartet und bekommt zusätzlich die Parameter für Remote Debugging angegeben (<code>-Xrunjdwp:</code>&#8230;). Dann erstellt man in Eclipse eine neue DebugConfiguration und wählt als Typ Remote Java Application. Weitere Parameter müssen nicht verändert werden. Nach dem Start der Batchfile erscheint eine Console mit den Ausgaben der ANT-Anwendung. Wenn nun die DebugConfiguration gestartet wird, hängt diese sich an den Remote Task an. Hat man nun in einem selbst geschriebenen ANT Task einen Breakpoint, so stoppt die Anwendung genau an diesem Punkt und wechselt in die Debug-Perspektive.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hexor2k.wordpress.com/174/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hexor2k.wordpress.com/174/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/174/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/174/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/174/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=174&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/09/03/howto-debug-ant-tasks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
		<item>
		<title>Howto OSGI Declarative Services</title>
		<link>http://hexor2k.wordpress.com/2008/08/27/osgi-declarative-services/</link>
		<comments>http://hexor2k.wordpress.com/2008/08/27/osgi-declarative-services/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 19:29:57 +0000</pubDate>
		<dc:creator>hexor2k</dc:creator>
				<category><![CDATA[Howtos]]></category>
		<category><![CDATA[Declarative Services]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Equinox]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OSGi]]></category>

		<guid isPermaLink="false">http://hexor2k.wordpress.com/?p=140</guid>
		<description><![CDATA[Nachdem ich auf der Arbeit ständig damit hantiere, gibts jetzt ne kleine Anleitung bzw. Checkliste für Declarative Services (DS)  unter OSGI. Was sind DS? Ganz einfach: Normalerweise müsste man per Hand codieren, welche Services ein OSGI-Bundle anbietet und welche es verwendet. Dadurch entstehen einige Probleme, vor allem muss man sich selbst darum kümmern, was [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=140&subd=hexor2k&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Nachdem ich auf der Arbeit ständig damit hantiere, gibts jetzt ne kleine Anleitung bzw. Checkliste für <em>Declarative Services (DS) </em> unter <em>OSGI</em>. Was sind DS? Ganz einfach: Normalerweise müsste man per Hand codieren, welche Services ein OSGI-Bundle anbietet und welche es verwendet. Dadurch entstehen einige Probleme, vor allem muss man sich selbst darum kümmern, was passieren soll, wenn ein Service mal nicht zur Verfügung steht oder sich im Betrieb verabschiedet. Außerdem ist es für einen Außenstehenden oft schwer einzusehen, welche Services das Bundle verwendet bzw. anbietet. Die Ressourcenbelegung ist auch ein Punkt, da die Services sich sofort bei Bundle-Start registrieren und nicht erst, wenn sie benötigt werden. Hier kommen die Declarativen Services ins Spiel. Mit ihnen kann man Services per XML-Datei konfigurieren.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><span id="more-140"></span></p>
<p>Die folgende Checkliste wurde unter der Verwendung von Eclipse Equinox erstellt.</p>
<h3>Checkliste: Was wird für Declarative Services benötigt?</h3>
<ul>
<li>Die Implementierung der Deklarative Services erfolgt durch das Bundle <strong>org.eclipse.equinox.ds</strong>. Dieses Bundle muss immer mit geladen werden, bevor die DS verwendet werden können.</li>
<li>Zusätzlich wird die Klasse <strong>ComponentContext</strong> aus dem Bundle <strong>org.osgi.service.component</strong> benötigt.</li>
<li>Die eigentliche Implementierung des DS erfolgt als sog. <strong>Service Component, </strong>also einer Klasse, welche den Service (besser gesagt: das Service Interface) implementiert. Im Gegensatz zu einem Activator wird diese nicht abgeleitet oder implementiert eine Interface. Sie muss trotzdem folgende zwei Funktionen enthalten, damit die ServiceComponent funktioniert. Diese Funktionieren ähnlich wie die <em>start </em>und<em> stop </em>Methoden des Bundle-Activators.
<ul>
<li><strong>protected void activate(Component context){&#8230;}</strong></li>
<li><strong>protected void deactivate(Component context){&#8230;}<br />
</strong></li>
</ul>
</li>
<li>Eine <strong>Konfigurationsdatei</strong> in XML: Diese Datei wird üblicherweise in einem Verzeichnis namens <strong>OSGI-INF</strong> abgelegt, der Dateiname ist beliebig. Die XML-Datei selbst folgt dem <a href="http://www.osgi.org/xmlns/scr/v1.0.0/scr.xsd">hier</a> zu findenden Schema. Wichtig ist hier, dass alle Inhalte der XML-Datei, also Tags, Attribute aber Paket- und Klassennamen <strong>richtig </strong>geschrieben sind, ansonsten kann die Service Component nicht aktiviert werden.</li>
</ul>
<ul>
<li>Änderung im Manifest-File des Bundles: Füge eine neue Zeile hinzu, der Inhalt ist <strong>Service-Component: OSGI-INF/service.xml</strong> (wenn die XML-Datei service.xml heißt)</li>
</ul>
<h3>Beispiel:</h3>
<p style="text-align:justify;">Hierzu ein kleines Beispiel: Eine ServiceComponent soll erstellt werden, die einen Service mit dem Interface <strong>MyServiceInterface</strong> bereitstellt. Sie soll außerdem eine Liste von Services des Interface <strong>OtherService</strong> beinhalten. Dazu bindet sie diesen Service (der auch über eine Service Component realisiert werden muss) mit der <strong>cardinality=&#8220;1..n&#8220;</strong>, so dass mindestens ein <strong>OtherService</strong> vorhanden sein muss, um die Service Component zu aktivieren. Die einzige Funktion in <strong>MyServiceInterface</strong> gibt die Anzahl der angebundenen <strong>OtherService</strong> zurück.</p>
<h4>Service Interface:</h4>
<pre><code>package org.example.ds
import ...
public interface MyServiceInterface {
    int getCount();
}</code></pre>
<h4>Implementierungs-Klasse:</h4>
<pre><code>package org.example.ds.internal
import ...
public class MyServiceImplementation implements MyServiceInterface {

    private ComponentContext context;
    private List&lt;OtherService&gt; servicelist = new Vector&lt;OtherService&gt;(0);

    protected void activate(ComponentContext context){
        this.context = context;
    }

    protected void deactivate(ComponentContext context){
        this.context = null;
    }

    protected void bindOtherService(OtherService otherservice){
        this.servicelist.add(otherservice)
    }

    protected void unbindOtherService(OtherService otherservice){
</code><code>        this.servicelist.remove(otherservice)</code>
<code>    }

    </code><code>public int getCount(){
        return this.servicelist.size();
</code><code>    }
}
</code></pre>
<h4>Die XML-Datei im OSGI-INF Ordner:</h4>
<pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;component name="myServiceComponent"&gt;
    &lt;implementation class="org.example.ds.MyServiceImplementation"/&gt;
    &lt;service&gt;
        &lt;provide interface="org.example.ds.MyServiceInterface"/&gt;
    &lt;/service&gt;
    &lt;reference
        name="otherservice"
        interface="org.example.ds.OtherService"
        bind="bindOtherService"
        unbind="unbindOtherService"
        cardinality="1..n"
        policy="static"
    /&gt;
&lt;/component&gt;
</code></pre>
<h3>Fehlersuche:</h3>
<ul>
<li>Das Bundle startet, aber die Service Component nicht. Dies kann viele Ursachen haben:
<ul>
<li>Schreibfehler in der Manifest- oder XML-File. Am besten nochmal nachschauen, ob alle Paket- und Klassennamen stimmen.</li>
<li>Eine geforderte Referenz ist nicht verfügbar. Untersuche alle Referenzen, ob deren Service Components vollständig gestartet wurden.</li>
<li>Eintrag in der <strong>Manifest-File</strong> fehlt oder ist ungültig. Mein absoluter Lieblings-Fehler <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Funktionen wie <strong>activate/deactivate</strong> bzw. <strong>bind/unbind</strong> fehlen oder sind ungültig.</li>
</ul>
</li>
<li><strong>NullPointerException</strong> oder andere krude Exceptions werden geworfen: Dies kann auftreten, wenn Klassenmember in der <strong>activate</strong>-Funtion belegt werden. Diese wird nämlich erst dann aufgerufen, wenn alle Referenzen erfüllt sind, also erst nach den <strong>bind</strong>-Funktionen. Wenn in <strong>bind</strong> schon auf das Member zugegriffen wird, ist es dann noch <strong>null</strong> und die NullPointerException wird geworfen.</li>
<li>Hilfe, ich sehe nicht ob sich irgendwas tut!!!
<ul>
<li>Der Status einer Service Component kann leider nicht einfach über den <strong>status</strong>-Befehl abgefragt werden, da Service Components ein relativ neues Konzept sind.</li>
<li>Eine Service Component meldet ihre Services sofort an der Service Registry an, der Befehl <strong>services</strong> gibt also keinerlei Aufschluss über den Status ser Service Component.</li>
<li>Am besten kann der Lebenszyklus über den Log-Service verfolgt werden, den Equinox mitliefert. Er kann über das Bundle <strong>org.eclipse.equinox.log</strong> angebunden werden</li>
</ul>
</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hexor2k.wordpress.com/140/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hexor2k.wordpress.com/140/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hexor2k.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hexor2k.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hexor2k.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hexor2k.wordpress.com&blog=4544707&post=140&subd=hexor2k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://hexor2k.wordpress.com/2008/08/27/osgi-declarative-services/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da83901c46990b57efdd2759b9ec859f?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=X" medium="image">
			<media:title type="html">hexor2k</media:title>
		</media:content>
	</item>
	</channel>
</rss>