Ant og Java

Tags:    java

Er der nogen der ved hvordan man laver to targets med ant? Hver af disse to targets har hver især et sæt filer, som er forskellige.

For eksempel har man en fil: File.java

På hver af de to targets "windows" og "mac" ser filen "File.java" anderledes ud. Kan man med Ant så skifte denne fil ud, når man bygger til henholdsvis Windows og Mac?



Er der nogen der ved hvordan man laver to targets med ant? Hver af disse to targets har hver især et sæt filer, som er forskellige.

For eksempel har man en fil: File.java

På hver af de to targets "windows" og "mac" ser filen "File.java" anderledes ud. Kan man med Ant så skifte denne fil ud, når man bygger til henholdsvis Windows og Mac?

Hvorfor behøver det at være forskelligt ?
Det undertrykker jo lidt meningen med Java.



Hvorfor behøver det at være forskelligt ?
Det undertrykker jo lidt meningen med Java.


Man kunne forestille sig, at bestemte libs, som er tilgængelig på én platform ikke er tilgængelige på en anden. Funktionaliteten i det manglende lib erstattes af et andet lib, som er stort set identisk, men hvor interfacet er en smule anderledes, hvilket betyder, at visse filer er forskellige afhængig af den platform de bygges til.

ClassDefNotFound kan ikke bruges i dette tilfælde.



Hvorfor behøver det at være forskelligt ?
Det undertrykker jo lidt meningen med Java.


Man kunne forestille sig, at bestemte libs, som er tilgængelig på én platform ikke er tilgængelige på en anden. Funktionaliteten i det manglende lib erstattes af et andet lib, som er stort set identisk, men hvor interfacet er en smule anderledes, hvilket betyder, at visse filer er forskellige afhængig af den platform de bygges til.

ClassDefNotFound kan ikke bruges i dette tilfælde.


Det du efterlyser kan godt lade sig gøre, men om det er det rigtige tilgang til din problemstilling tvivler jeg på.
Du kunne overveje, at integere denne (platformuafhænginghed) i selve programmet ved f.eks. at have en MacFile, WinFile etc. som alle nedarver fra File. Så kan du i runtime, ved at hente den os din applikation køre, sætte den rette objekt til at udføre opgaven.

Håber, at du kan se tankegangen...



t