Freitag, 11. September 2009

Subversion 1.6 in JDeveloper 11g

Im Moment bin ich etwas fachfremd als 4GL Entwickler mit Oracle ADF unterwegs. Das Mittel der Wahl für die Entwicklung ist natürlich der JDeveloper 11g. Dieser unterstützt von Hause aus leider nur Subversion 1.5, was sich mit dem bei mir auf dem System installierten TortoiseSVN beißt. Nun hatte ich vier Möglichkeiten:
  1. TortoiseSVN für das aktuelle Projekt downgraden und nicht auf meine anderen Projekte zugreifen können, dafür aber sowohl mit JDeveloper als auch mit Tortoise auf der Working-Copy arbeiten können.
  2. Nur TortoiseSVN benutzen und auf die Toolunterstützung im JDeveloper verzichten. Das würde allerdings sehr beim Umbenennen, Verschieben und Löschen von Dateien stören, da man die Subversion Änderungen alle von Hand nachziehen müsste.
  3. Nur mit der Unterstützung vom JDeveloper arbeiten. Das führt allerdings dazu, dass man zum einen sehr aufpassen muss, dass man nicht aus Versehen im Explorer Tortoise SVN verwendet. Außerdem sieht man im JDeveloper nicht unbedingt immer alle Dateien oder Ordner - Tortoise ist da flexibler. Außerdem habe ich den Verdacht, dass TortoiseMerge etwas cleverer ist.
  4. Den JDeveloper überreden auf einer 1.6er Working-Copy arbeiten zu können. Davon handelt dieser Post.
Im Prinzip ist es ganz einfach. JDeveloper arbeitet mit SvnKit, allerdings mit einer älteren Version theoretisch muss man also nur dieses aktualisieren und schon kann man das Beste aus beiden Welten verwenden. Hier also eine Anleitung:
  1. JDeveloper schließen (falls geöffnet)
  2. In das Verzeichnis [Jdev-Install]\jdev\extensions\oracle.jdeveloper.subversion wechseln
  3. Die Dateien svnjavahl.jar und svnkit.jar vorsichtshalber zur Sicherung umbenennen (z.B. ein .bak anhängen)
  4. SvnKit 1.3.0 Standalone herunterladen (http://svnkit.com/download.php)
  5. Die Dateien svnkit.jar und svnkit-javahl.jar in das oben genannte Verzeichnis entpacken
  6. Die svnkit-javahl.jar in svnjavahl.jar umbennen
  7. JDeveloper starten und überprüfen, dass er das aktualisierte SVNKit verwendet (Tools -> Preferences -> Versioning -> Subversion)

Herausgefunden habe ich das übrigens nicht selber. Eine ähnliche Anleitung habe ich für Subversion 1.5 und JDeveloper 10g gefunden. Zwischen den Versionen hat sich aber scheinbar nicht viel geändert.

Es wird keine Garantie für einen verhunzten JDeveloper oder eine gefraggte Working-Copy übernommen! :o)