Kompilieren von Klassen mit unbekannten Pfaden

Andron

Erfahrenes Mitglied
Hallo,
ich habe ein Problem mit dem Kompilieren.

Meine Aufgabestellung war folgende:
Es wird eine Property-Datei vorgegeben mit ähnlichem Inhalt:
Code:
BEAN_NAMES=PRICE_BEAN,NEWS_BEAN,BONDS_BEAN

PRICE_BEAN.CLASS=com.idco.dal.priceBean
PRICE_BEAN.PROPERTIES=name:java.lang.String,price:double,expiry:java.lang.Float

NEWS_BEAN.CLASS=com.idco.dal.newsBean
NEWS_BEAN.PROPERTIES=name:java.lang.String,price:double,expiry:java.lang.Float,ok:boolean

BONDS_BEAN.CLASS=com.idco.dal.bondsBean
BONDS_BEAN.PROPERTIES=name:java.lang.String,price:double,expiry:java.lang.Float

Diese Datei beschreibt einige Beans, wie Name, Package und Attribute.
Mein Programm liest diese Properties und erzeugt mir Java-Klassen und gleichzeitig auch JUnit - Testklassen. Zu jeder Bean wird eine JUnit-Testklasse erzeugt.
Der Standard-Pfad lautet: /generator
Dort werden im Ordner src Java-Klassen erzeugt mit angegebener Package-Struktur
und im Ordner test werden Junit-Tests erzeugt mit der Package-Struktur der dazugehörigen Bean.
Alles läuft wurderbar.

Nun schreibe ich ein Bat-File, der mir die erzeugten Klassen nach bin bzw. test/bin kompilieren soll.
Da ich die Package-Struktur eigentlich nicht kenne, habe ich folgendes versucht:
Code:
javac -d bin src
Sprich, kompiliere mir alles, was unter src liegt nach bin.
Und das geht nicht, weil unter src keine *.java Dateien liegen.

Ich möchte das so konfigurieren, dass ich nur das src-Verzeichnis angebe und javac mir alle darunterliegenden Verzeichnisse nach Java-Klassen durchsucht und nach bin mit derselben Verzeichnisstruktur kompiliert.

Geht das irgendwie?
Danke im Voraus
 
Hallo,

also ich würde da einfach nur ein kleines Ant Buildskript anlegen:

build.xml
XML:
<?xml version="1.0"?>
<project name="project" default="default">
    <description>
            description
    </description>

    <!-- ================================= 
          target: default              
         ================================= -->
    <target name="default" depends="compile" description="--> description">
        <echo message="Finished"></echo>
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: compile                      
         - - - - - - - - - - - - - - - - - -->
    <target name="compile">
        <javac srcdir="src" includes="**/*.java" destdir="bin">
        </javac>
    </target>
</project>

Welches ich dann einfach mit:
ant
aufrufen kann.

Gruß Tom
 
Zuletzt bearbeitet von einem Moderator:
Zurück