ITflow.de

Tutorials

Apache Ant Build File HowTo

by admin on Mai.29, 2009, under Tutorials

Hier mal eine kleines HowTo für ein Ant Build File. Das ganze bezieht sich auf Eclipse. Das Build File sollte im Rootverzeichnis des Projekts liegen.

<project name=”Test” basedir=”.” default=”main”> </project>

  • name dürfte klar sein.
  • basedir ist wenn man einen Punkt hinzu nimmt das Rootverzeichnis. D.h. oberhalb von src Ordner.
  • default bedeutet, das als default Task in diesem Fall das ‘main’ Target ausgeführt wird.

<property name=”src.dir” value=”src”/>

  • property ist eine Variable die man später mit ${src.dir} aufrufen kann welche ein Wert hat.

<target name=”compile”>
<mkdir dir=”${classes.dir}”/>
<javac srcdir=”${src.dir}” destdir=”${classes.dir}”/>
</target>

Wie der Name schon sagt, ist das Target compile für die Kopilierung der Klassen zuständig. Damit Java kompiliert, muss der javac Tag in dem Task vorhanden sein. srcdir ist der Quellordner, in unserem Fall src. destdir ist der Zielorner wo die kompilierten Klassen sowie die Packet Struktur hinkopiert wird.

<target name=”jar” depends=”compile”>
<mkdir dir=”${jar.dir}”/>
<jar destfile=”${jar.dir}/${ant.project.name}.jar” basedir=”${classes.dir}”>
<manifest>
<attribute name=”Main-Class” value=”${main-class}”/>
</manifest>
</jar>
</target>

Das Target mit dem Namen jar erstellt ein jar File. depends bedeutet dass das Target compile vorher ausführt. Im jar Tag beginnt die eigentliche Erstellung des Files. destfile ist das output file. In unserem Fall wird der Projectname vom Anfang als jar Filename verwendet. basedir ist der Quellordner wo sich die kompilierten Klassen befinden.

Einen Überblick über alle Task  gibt es auf der Ant Projekt Seite:

Apache Ant Project Site

Leave a Comment :, , more...

Socket Beispiele -> java.util.String split?

by admin on Apr.18, 2009, under Tutorials

Dank des schönen Wetters gibs erst nach längerer Zeit mal wieder einen Blog-Eintrag.  Warum wird bei Java Socket Beispielen im Internet, immer alles mögliche in einen String gepackt (z.b. Datum, Namen usw). Dazwischen hat man dann immer diese schönen Trennzeichen wo dann immer gesplittet wird. Kaum eines der Beispiele zeigt, das Sockets auch noch andere Objekte verschicken können außer String :-) .  Da es in Java leider nicht möglich ist, auf die Methoden einer Klasse zu zugreifen, ohne Cast, wenn diese in eine java.lang.Object initialisiert wurde (möglich, aber das entspricht nicht wirklich der Objektorientierung), muss die Klasse sowohl beim Sender als auch beim Empfänger verfügbar sein. Das Down-Casten vom java.lang.Object zu einer Klasse ist nur möglich wenn sich die Klasse sich in der Laufzeit befindet bzw. eingebunden wird.  Hier mal ein Beispiel für den Client:

Socket socket = new Socket(host, port);

ObjectOutputStream outputStream = new ObjectOutputStream(socket.getOutputStream());

String hallo = “Hallo”;

outputStream.writeObject(hallo);

MeineKlasse klasse = new MeineKlasse();

outputStream.writeObject(klasse);

outputStream.writeObject(new Date());

outputStream.flush();

outputStream.close();

Der Server dazu sieht zum Beispiel so aus:

ServerSocket server = new ServerSocket(port);

Socket socket = server.accept();

ObjectInputStream inputStream = new ObjectInputStream(socket.getInputStream());

String hallo = (String) inputStream.readObject();

MeineKlasse klasse = (MeineKlasse) inputStream.readObject();

Date date = (Date) inputStream.readObject();

inputStream.close();

Das Casten der Objekte muss in der Reihenfolge passieren in welcher diese abgeschickt wurden.

Leave a Comment :, , more...

MySQL Connection refused.

by admin on Apr.07, 2009, under Tutorials

Da ich schon länger nicht mehr so viel mit MySQL zu tun hatte, hab ich mich gefragt, warum mein Mysql-Server die Connection meiner Javaanwendung refused. Wollte mich gerade auf die Googlerecherche machen, als mir es wieder einfiel:

/etc/mysql/my.cnf

Da war doch was :-)

bind-address

skip-external-locking

Leave a Comment :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...