tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
658
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mpwh mpwh ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    4
    Hallo,

    gibt es in Java die Möglichkeit in einer Variablen das Datum der letzten Kompilierung der Klasse einzufügen?

    Zum besseren Verständnis meiner Frage erkläre ich den Zweck: ich möchte für mein Java-Programm eine Versionsnummer AUTOMATISCH generieren, die sich mit jedem Kompilieren selbständig erhöht und die dann in meinem Hilfedialog angezeigt wird (in C kann man das glaube ich mit #DEFINE...machen).

    Ich benutze Eclipse, vielleicht gibt es dafuer ja ein Plugin, das sowas macht?

    Vielen Dank fuer Eure Hilfe,
    mpwh
     

  2. #2
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.298
    Hallo,

    das was du beschreibst geht am einfachsten mit dem Buildtool "Ant", welches du direkt aus Eclipse aus aufrufen kannst (ist mit dabei).
    Hierfür musst du eine xml-Datei schreiben, welche den Build-Prozess genauer beschreibt. Google sollte dir alles notwendige zum Schreiben dieser Datei liefern:

    Handbuch

    Das Kompilierdatum kannst du alternativ auch über ein File-Objekt mit der lastModified()-Methode rausfinden. Du erstellst einfach ein File-Objekt auf deine Klassen-Datei und rufst mit lastModified() das Datum der letzten Änderung (= Zeitpunkt des Kompilierens) ab.

    Gruß
    BK
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  3. #3
    mpwh mpwh ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    4
    Danke Bratkartoffel!

    ich werde mich mal ueber ANT informieren.

    > ein File-Objekt mit der lastModified()-Methode

    soetwas hatte ich mir auch schon ueberlegt, war aber mit dieser Loesung nicht zufrieden, da sich manchmal das Datum einer Datei beim umkopieren aendert.

    mfg,
    mpwh
     

  4. #4
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.298
    Hallo,

    du wirst sicherlich schnell feststellen, dass ANT unheimlich umfangreich ist. In vielen Fällen lohnt es sich nicht, ein extra Buildfile für den ANT zu erstellen, somit wäre die andere Lösung eine einfache, aber auch quick-and-dirty Lösung

    Gruß
    BK
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  5. #5
    mpwh mpwh ist offline Grünschnabel
    Registriert seit
    Jul 2007
    Beiträge
    4
    auweia, ANT ist wirklich kompliziert - aber da muss ich mich jetzt wohl einlesen.

    naja, das mit "lastModified()" hat auch den nachteil, das nicht nach jeder ausbesserung jedes java-file kompiliert wird. nur die java-files, die auch veraendert wurden werden kompiliert. es wuerden also unterschiedliche versionen das gleiche datum eventuell erhalten. ich muesste also alle meine klassen nach dem juengsten kompilierdatum durchsuchen...

    damit sich das file-datum beim kopieren nicht aendert koennte ich dadurch verhindern, indem ich alle klassen zu einem jar packe, und dann das datum von einer der im jar enthaltenen files benutze...
    Geändert von mpwh (20.07.10 um 14:17 Uhr)
     

  6. #6
    Avatar von Bratkartoffel
    Bratkartoffel Bratkartoffel ist offline gebratene Kartoffel
    tutorials.de Premium-User
    Registriert seit
    Jun 2007
    Ort
    Passau (Niederbayern)
    Beiträge
    1.298
    Zitat Zitat von mpwh Beitrag anzeigen
    damit sich das filedatum beim kopieren nicht aendert koennte ich dadurch verhindern, indem ich alle klassen zu einem jar packe, und dann das datum von einer der im jar enthaltenen files benutze...
    Hierzu müsstest du die Dateien erst entpacken

    Ja ich weiß, das lastModified() ist in vielerlei Hinsicht nicht Richtig, aber wie schon gesagt: quick-and-dirty

    Gruß
    BK
     
    Über eine gute Bewertung freut sich jeder ;)
    Bitte erledigte Threads als "Erledigt" markieren.

    "Though a program be but three lines long, someday it will have to be maintained.''
    -- Geoffrey James, "The Tao of Programming"

  7. #7
    Anime-Otaku Anime-Otaku ist offline Mitglied Brillant
    Registriert seit
    Aug 2005
    Ort
    Karlsruhe (Baden-Württemberg)
    Beiträge
    900
    Ich werfe mal maven in den Raum. Mit maven schreibt, einfach ausgedrückt, man eine XML-Konfiguration, welche alle Abhängigkeiten enthält und wie anschliesend gebaut wird.

    Es ist aktuell imo DAS Tool, wenn es ums bauen von Java-Anwendungen geht.
     
    Wäre super wenn ihr euren Code in dieser Form einfügt:
    Code java:
    1
    
    System.out.println("Hello World");
    [java]System.out.println("Hello World");[/java]
    Für erledigte Threads dürft ihr den "erledigt"-Button anklicken!
    Über Dank freut sich jeder, der euch geholfen hat - ein Klick auf "Danke" kostet ja nicht mal was
    Blog: http://javaeffective.wordpress.com/

Ähnliche Themen

  1. Eclipse: Automatisch Version einfügen
    Von Larrywayn im Forum Java
    Antworten: 5
    Letzter Beitrag: 22.06.09, 02:15
  2. Wasserzeichen automatisch einfügen
    Von FoRi im Forum Photoshop
    Antworten: 1
    Letzter Beitrag: 03.01.07, 14:36
  3. XML - Daten automatisch einfügen/bereitstellen
    Von ba-c im Forum XML Technologien
    Antworten: 0
    Letzter Beitrag: 09.01.05, 17:13
  4. Bei 100 Bildern automatisch Text einfügen
    Von besi im Forum Photoshop
    Antworten: 3
    Letzter Beitrag: 27.10.04, 12:18
  5. Antworten: 4
    Letzter Beitrag: 10.08.02, 11:07