**Dies ist eine alte Version des Dokuments!** ----
= Build.xml, die im regain-Projekt eingesetzt wird = Hier in der ''build.xml'' definierte Targets, die noch in die Tabelle oben noch einzutragen und zu beschreiben - möglichst verständlich auch für Quereinsteiger - sind: **available targets:** targets zeigt die komplette Liste der in der build-datei definierten Targets dump-info Dumps some information (VM-Version...). clean Deletes the classes directory. clean-runtime Deletes the runtime directory. clean-all Deletes all generated directories. (Without public and the deployed stuff) clean-web Deletes the deployed stuff (Without the config). prepare Prepares the compilation. (Extracts the libs) prepare-once Prepares the compilation if needed. (Extracts the libs) doc Generates the JavaDoc documentation. make Compiles the source code. make-test Compiles the test source code. make-jni Generates the JNI header files. make-jacobgen Compiles the source code generated by jacobgen pack-jacobgen Packs a zip file containing the generated jacobgen source and a jar file containing the classes. copy-msg Copies all msg files to temp/msg. test Does the JUnit tests. test-preparators Runs the preparator test. runtime-desktop Prepares the desktop runtime directory. runtime-server Prepares the server runtime directory. runtime Prepares the runtime directory. runtime-desktop-fast übersetzt die geänderten Klassen und ruft das Desktop-regain direkt auf, ohne vorher ein jar-Archiv zu bauen runtime-server-fast Prepares the server runtime directory without the main jars. runtime-fast Prepares the runtime directory without the main jars. run-crawler Runs the crawler. run-crawler-fast Runs the crawler without building the jars. run-desktop-fast Runs the desktop without building the jars. jsmoothgen Creates a windows executable using Jsmooth. installer Creates a Windows installer for the project. public Creates all the stuff that can be downloaded. public-no-installer Creates all the stuff that can be downloaded except for the installer. deploy-web Deploys the web content at the servlet engine. deploy-classes Deploys the web content at the servlet engine. deploy-config Deploys the config at the servlet engine. deploy-war erstellt das Archiv ''regain.war'' und speichert es im Ordner ''deploy-target.dir'', das in der Datei ''build.properties'' definiert wird all Creates all (Same as public). Weitere Details über die einzelne Targets sind in den entsprechenden <target>-Elementen der Datei ''build.xml'' aufgelistet. Falls Sie Ant auf Ihrem PC bereits eingerichtet haben, ist es in vielen Fällen hilfreich, einfach das Kommando %ant_home%\bin\ant [target-Bezeichnung] im [http://de.wikipedia.org/wiki/Eingabeaufforderung#http://de.wikipedia.org/wiki/Eingabeaufforderung#Eingabeaufforderung_unter_DOS Eingabeaufforderung]-Fenster eingeben und das Ergebnis analysieren, um Antworten auf eventuelle Fragen zu bekommen. ---------------------------------- = Regain mit Ant-Framework effizient einsetzen = ==Verzeichnisstruktur der regain_vN.N_src.zip== [[Verzeichnisstruktur der regain_vN.N_src.zip]] ==Dateien im Root der Datei regain_vN.N_src.zip== [[Dateien im Root der Datei regain_vN.N_src.zip]] ==Aufbau der regain-''build.xml''== um zeitsparend die Routine-Aufgaben bei der regain-Entwicklung zu erledigen, lohnt es sich auf das [http://de.wikipedia.org/wiki/Ant Ant]-Tool zurückzugreifen. Welche Routine-Vorgänge sind bereits automatisiert, ist in der Ant-Konfigurationsdatei [[build.xml, die im regain-Projekt eingesetzt wird]] beschrieben. ==Beispiele== - [[Texte der Seitennavigation aus dem regain-Index ausschließen]] ------------------------------------ = Workaround für Java-Quereinsteiger für die Anpassung von regain = Es sind manchmal nur einige wenige Änderungen im Java-Quellcode, die notwendig sind, um regain um fehlende Features zu ergänzen. Diese Änderungen im Java-Quellcode können u.U. auch Anwender machen, die allgemeine Programmierkenntnisse haben, ohne groß in die Java-Programmierung einzusteigen. Problematisch wird es oft, wenn man versucht die geänderte Datei ''RegainKlasse.java'' in ''RegainKlasse.class'' kompilieren und in die ursprungliche ''regain.jar'' einzubinden. Hier ist ein Workaround beschrieben, mit dem es mit dem kostenlosen Java SE Development Kit (JDK) auf einem Windows XP-/2000- oder 98 System auf Anhieb klappt ;-). ==Java SE Development Kit einrichten== ;JDK herunterladen: falls auf Ihrem PC noch nicht installiert, [http://de.wikipedia.org/wiki/J2SDK JDK] von der [http://java.sun.com/javase/downloads/index.jsp Downloadseite des JDK] herunterladen und installieren ;Systemvariable JAVA_HOME setzen: Die Systemvariable JAVA_HOME dient dazu, Dateiverzeichnisse festzulegen, in denen das Java-System installiert ist. * im Eingabeaufforderung-Fenster das Commando ''set JAVA_HOME=C:\Programme\Java\j2sdk1.4.2; '' eingeben. Ersetzen Sie ggf. den Wert ''C:\Programme\Java\j2sdk1.4.2'' durch den Pfad zu Ihrem Java-Ordner. * im Eingabeaufforderung-Fenster ''set'' eingeben, um zu prüfen ob die von Ihnen gesetzten Variablen richtig gesetzt wurden. Diese Variablen müssen zusammen mit zugewiesenen Werten in der alphabetisch geordneten Liste angezeigt werden. ;Systemvariable CLASSPATH setzen: * ein Fenster mit der [http://de.wikipedia.org/wiki/Eingabeaufforderung#http://de.wikipedia.org/wiki/Eingabeaufforderung#Eingabeaufforderung_unter_DOS Eingabeaufforderung] starten: ''Start -> Ausführen -> cmd'' - für Windows XP oder Windows 2000 ''Start -> Ausführen -> command.com'' - für Windows 98 * Systemvariable CLASSPATH setzen, in dem Sie im Eingabeaufforderung-Fenster das Commando ''set CLASSPATH=.;''C:\Worker\''regain\regain.jar; '' eingegeben wird. Die Systemvariable CLASSPATH dient dazu, Dateiverzeichnisse festzulegen, in denen das Java-System bei der Ausführung von Programmen nach vorhandenen Klassen und Bibliotheken sucht. Also passen Sie ggf. den Pfad ''C:\Worker\'' durch ihren Pfad zum ''regain''-Ordner. Der Wert ''.;'' in der CLASSPATH-Variable repräsentiert das aktuelle Dateiverzeichnis. ==RegainKlasse.java ändern== * die zu ändernde Klasse ''RegainKlasse.java '' aus der Datei mit regain-Quellcode, z.B. ''regain_v1.1_src.zip'' extrahieren. Dazu diese Datei in Ihrem Archivprogramm, z.B. das Freewareprogramm [http://izarc.de.vu IZArc] öffnen * die zu ändernde Datei RegainKlasse.java in ihren Arbeitsordner C:\Worker kopieren * die gewünschte Änderungen durchführen. ==RegainKlasse.class erstellen== * in den Ordner C:\Worker wechseln. Dafür im Eingabeaufforderung-Fenster das Commando ''CD C:\Worker '' eingeben. * die geänderte Klasse mit der Anweisung ''%JAVA_HOME%\bin\javac RegainKlasse.java'' kompilieren. Es wird, sobald alle Fehler beseitigt werden, eine Datei ''RegainKlasse.class'' erstellt ==RegainKlasse.class in das Archiv einbinden == * eine Kopie der Datei regain.jar erstellen * die Kopie der Datei regain.jar in regain_orig.jar umbenennen * die Datei regain.jar im Archivprogramm öffnen * in das Verzeichnis der Datei RegainKlasse.class wechseln * die Datei RegainKlasse.class in den Ordner, wo die 'alte' RegainKlasse.class gespeichert ist, kopieren Die geänderte Klassen der Server-Suche stellen Sie einfach in den entsprechenden Ordner im Pfad ''...\Tomcat\webapps\regain\WEB-INF\classes\net\sf\regain'' ein. Um diese Klassen auch im Archiv ''regain.war'' einzubinden, ändern Sie die Endung '.war' in '.zip' und weiter wie oben beschrieben. Dann die Umbenennung rückgängig machen. ==die angepasste regain-Version testen== * falls Sie mit dem Testergebniss nicht zufrieden sind, die vorherige Schritte wiederholen * falls Sie keine funktionsfähige RegainKlasse.class erstellt haben, die Datei regain_orig.jar in regain.jar umbenennen ==die angepasste RegainKlasse.class veröffentlichen== Es könnte sein, dass die angepasste RegainKlasse.class auch andere regain-Anwender nutzen können. Machen Sie eine kurze Beschreibung mit Quellcode der von Ihnen geänderten RegainKlasse im Wiki, auf der Seite [[Regain-Hacks]] und machen Sie eine Kurzinfo darüber im Forum. Davon können nicht nur andere regain-Anwender, sondern auch Sie - dadurch, dass Ihre Lösung umfangreicher getestet wird - profitieren . ==Tipps== ;eingegebene Commandos wiederverwenden :die im Eingabeaufforderung-Fenster eingegebene Commandos können Sie wiederverwenden, in dem Sie auf der Tastatur die Tasten 'Pfeil-nach-oben' und 'Pfeil-nach-unten' drücken ;Systemvariablen dauerhaft speichern :Es könnte sein dass Sie auf Geschmack gekommen sind und sich länger als ein Tag mit der regain-Weiterentwicklung beschäftigen. Dann macht es Sinn die Systemvariablen dauerhaft in Ihrem Betriebssystem zu sichern, damit diese auch nach dem Ausschalten des Rechners gespeichert bleiben. Dies erreichen Sie so: :Mit der rechten ''Maustaste Arbeitsplatz -> Eigenschaften -> Erweitert -> Umgebungsvariablen -> Benutzervariablen für ... -> neu'' und im Dialog-Fenster die entsprechenden Name und Wert von Variablen CLASSPATH und JAVA_HOME eingeben. :Systemeigenschaften-Fenster können Sie auch mit der Tastenkombination ''Windows-Taste + Pause-Taste'' einblenden. ;mit Copy-and-Paste oder Drag-and-Drop den Pfad-Wert kopieren :statt den kompletten Pfad im Eingabeaufforderung-Fenster eintippen, z.B. in den Schritten 'set CLASSPATH' oder 'set JAVA_HOME', können Sie den Pfad aus dem Adressfeld im Windows-Explorer in die Zwischenablage kopieren und dann mit dem Klick auf das Icon des Eingabeaufforderung-Fensters links oben mit ''Bearbeiten -> Einfügen'' den Wert übernehmen. :falls das Eingabeaufforderung-Fenster und das Windows-Explorer-Fenster mit dem mit dem gewünschten Pfad neben- bzw. untereinander angeordnet sind, können Sie den Pfad-Wert per Drag-and-Drop in das Eingabeaufforderung-Fenster kopieren. Z.B. falls im Adressfeld im Windows-Explorer-Fenster ''C:\Programme\Java\'' angezeigt wird, kann mann einfach mit dem Ziehen des Ordners ''j2sdk1.4.2'' den Wert ''C:\Programme\Java\j2sdk1.4.2'' in das Eingabeaufforderung-Fenster kopieren. ;für's Compilieren und Starten separate Fenster :starten Sie zwei Eingabeaufforderung-Fenster - in einem wird die angepasste Klasse kompilert und im anderen regain gestartet und beendet. So müssen Sie nicht vom Ordner zum Ordner wechseln ;mit Strg + C die Anwendung beenden :falls Sie Strg + C im Eingabeaufforderung-Fenster drücken, werden Sie gefragt, ob Sie die Anwendung, z.B. regain, tatsächlich beenden möchten. Drücken Sie die taste 'j' und dann 'Enter'. Dies ist eine Alternative zu 'rechte Maustaste -> Beenden' für das regain-Icon in der Taskleiste. So entlasten Sie Ihre rechte Hand und vorbeugen dem [http://de.wikipedia.org/wiki/RSI-Syndrom RSI-Syndrom] ;-) ;PowerArchiver-Besonderheit :habe festgestellt, dass die geänderte javaKlasse.class erst dann im regain.jar-Archiv korrekt vom Programm PowerArchiver eingebunden wird, wenn die regain.jar in ''regain.zip'' umbenannt und erst dann die javaKlasse.class dorthin reinkopiert wird ;-| ;Firefox anpassen :da viele Dateien im Firefox-Browser auch im .''jar''-Format vorliegen, kann die hier beschriebene Vorgehensweise auch für die Anpassung von Firefox-Modulen angewendet werden ===== Weblinks ===== * [http://forum.murfman.de/de/viewtopic.php?t=170 Wie kann ich regain am einfachsten (mit Ant-Builder) selbst bauen ?] * [http://www.joller-voss.ch/apache/ant/ApacheAntStarthilfe.pdf#search=%22apache%20ant%20starthilfe%20joller%22 Apache ant Starthilfe] - eine kompakte Ant-Beschreibung * [http://de.wikipedia.org/wiki/Programmiersprache_Java#Entwicklungsumgebungen Programmiersprache Java - Entwicklungsumgebungen]