RadRails und Eclipse als IDE für JRuby und Ruby on Rails
Eclipse ist eine integrierte Entwicklungsumgebung (IDE) (integrated development environment) insbesondere für Java. Eclipse ist keinesfalls auf Java festgelegt, sondern wird auch bei der Entwicklung in vielen anderen Progtrammiersprachen verwendet (z. B. PHP, C, Python, HTML). Die offene, plugin-basierte Struktur von Eclipse hat ihre Nutzung für eine Vielzahl von Programmiersprachen und Entwicklungsumgebungen ermöglicht, so auch für JRuby und das Web Application Framework Ruby on Rails.
Auswahl des Eclipse-Basis-Pakets
Aller Anfang ist schwer und das geht schon bei der Auswahl des richtigen Eclipse-Packages los. Die offene Struktur hat auch ihre Nachteile: je mehr Plugins es gibt, desto mehr Inkompatibilitäten kann es auch geben. Daher veröffentlicht Eclipse seit 2006 einmal jährlich verschiedene Packages mit unterschiedlichen Zusammenstellungen von häufig benötigten Plugins in Versionen, die miteinander harmonisieren. Der Name der 2008er Version dieser Packages ist “Ganymede” (veröffentlicht am 25 Juni 2008, Eclipse Version 3.4).
Auf der compare-packages-Webseite des Eclipse Projektes kann man sich einen Überblick verschaffen über die verschiedenen Eclipse Packages und ihre Plugin-Zusammenstellungen. Für meine Zwecke ist das JEE/Reporting-Package das Produkt der Wahl: Es enthält alles notwendige zur Java-Programmierung und außerdem die Business Inteligence and Reporting Tools (BIRT), die für mich interessant sind, weil Data Warehousing und Informationssysteme zu meinen Interessen- und Aufgabengebieten zählen.
Installation unter Ubuntu
Die Installation der IDE ist trivial und in wenigen Sekunden erledigt: nach dem Download des JEE/Reportin-Package (Linux 32bit Version) erledigen die folgenden Befehle den Rest:
cd download-directory tar xvzf eclipse*tar.gz sudo mv eclipse /usr/local sudo ln -s /usr/local/eclipse/eclipse /usr/local/bin/eclipse
Eclipse ist in Java geschrieben, das bedeutet: man braucht eine Java-Maschine auf dem Rechner, um Eclipse nutzen zu können. Seitdem die Firma SUN Java unter einer Open Source Lizenz freigegeben hat, spricht auch aus strategischen und politischen Gründen nichts mehr gegen die Nutzung von SUNs Java. Unter einem Debian-basierten System (wie z. B. Ubuntu Intrepid) lässt sich das bei aktuellen Distributionen leicht mit dem folgenden Befehlen erledigen:
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install sun-java6-jdk sun-java6-doc \
sun-java6-demo sun-java6-fonts sun-java6-plugin
Für etwas Verwirrung sorgt die Installation der Dokumentation (Package sun-java6-doc). Wahrscheinlich aus irgendwelchen lizenzrechtlichen Gründen ist diese nicht im Package enthalten sondern muss zunächst separat von SUNs Java Seite heruntergeladen werden (wie ich so einen Mist hasse, dieser ganze kleinliche Copyright-Sch… macht nichts als Ärger). Und natürlich heißt das Dokumentations-Archiv jetzt anders und man ist zunächst unsicher, ob man das richtige hat. Und dann meckert die Paket-Installation, weil sie die Doku nicht finden kann. Ich habe mir schließlich mit einem symbolic link geholfen:
ln -s jdk-6u10-docs.zip jdk-6-doc.zip
danach lief die Package-Installation zu Ende wie geschmiert.
Benutzung von Eclipse und erste Schritte
Ab jetzt kann Eclipse durch Eingabe von “eclipse” auf einer Konsole aufgerufen werden. Das Starten von Eclipse dauert (… und dauert … und dauert …), besonders beim ersten Mal. Das Warten wird belohnt mit dem Öffnen einer schon ziemlich cool gestalteten Oberfläche, auf der der Weg gewiesen wird zu weiteren Informationen, Tutorials etc.
Als nächstes macht es in der Tat Sinn, sich mit den grundlegenden Prinzipien und Funktionen von Eclipse vertraut zu machen. Hierzu finden sich im Web eine Vielzahl von Tutorials. Ich habe mich für den allerersten Überblick für den Eclipse Workshop von admin-wissen.de entschieden, weil sich der in kurzer Zeit überfliegen und abarbeiten lässt.
Eclipse Workshop von admin-wissen.de
Inhalt
Der Workshop gibt einen guten Überblick über die grundlegenden Prinzipen der Nutzung von Eclipse und endet mit dem Verfahren der Installation von weiteren Plugins. Für mich ist hier insbesondere Subclipse interessant, dass den Zugriff auf Quellcode im Sourcecode-Verwaltungssystem subversion erlaubt (Der Zugriff auf cvs-Repositories ist bereits im Eclipse-Kern implementiert).
Sehr instruktiv ist auch das Tutorial von Lars Vogel:
Introduction to Eclipse 3.4 (Ganymede) – Tutorial von Lars Vogel
Table of Contents
Last but not least: Die ersten Schritte von Torsten Horn. Kurz, knapp, auch Referenz, nicht nur Tutorial.
Eclipse – Erste Schritte (von Torsten Horn)
Inhalt
- Terminologie in Eclipse
- Installation von Eclipse
- Einige Tastaturkürzel
- Templates
- Erste Konsolenanwendung
- Weitere erste Anwendungen
- Import von ‘Ant’-Projekten
- Export als ausführbare .jar-Datei
- SQL-Datenbank-Clients (SQuirreL, QuantumDB, SQLExplorer, Clay)
- UML-Editor (JUDE, EclipseUML)
- JUnit mit Eclipse
- CVS-Integration
- Subversion-Integration
- Eclipse mit Maven
- Links auf weiterführende Informationen
Installation von aptana RadRails
Wir nähern uns dem Ziel unserer Bemühungen: Der Installation von aptana RadRails als Eclipse Plugin. Folgt man gewissenhaft der Installationsanleitung auf den Webseiten von aptana, läuft man gleich zu Beginn ins Leere: Unter “Windows | Preferences | General |Capabilities” soll man “classic update” auswählen … nur: Nach “Capabilities” werden Sie sich erfolglos einen Wolf suchen! Jedenfalls dann, wenn Sie die JEE/Reporting-Zusammenstellung von Eclipse ganymede 3.4 installiert haben. “Capabilities” gibt’s einfach nicht. Eine Google-Recherche und das aptana-forum Mitglied “fredpyo” bringen die Ursache ans Licht: Es fehlt die Eclipse SDK. Diese muss zunächst mit dem Update-Manager nachinstalliert werden. Den Update-Manager erreichen Sie unter “Help | Software Updates …”.
Mit Klick auf “Update …” prüfen Sie, ob alle Plugins auf dem aktuellsten Stand sind. In einem weiteren Dialog werden alle Plugins angezeigt, für die neuere Versionen verfügbar sind. Nachdem Sie noch irgendwelche Nutzungsbedingungen abgenickt haben, ohne Sie zu lesen (oder lesen Sie sowas? Hand auf’s Herz!), installieren sich eine Vielzahl von Plugin-Updates. Danach ist ein Neustart von Eclipse fällig.
So. Nun endlich geht es an die Nach-Installation des Eclipse-SDKs. Wir öffnen “Help | Software Updates …”, Reiter “Available Software”. Dort wählen wir “The Eclipse Project Updates” aus. Und weil ich nicht so recht weiß, was genau wir aus dem Untermenü alles brauchen, schlage ich vor, wir wählen einfach alles. Nach Klick auf “Install …” und erneutem Abnicken irgendwelcher Nutzungsbedingungen (Ja, ja, “I accept the terms of the license agreements”, was immer da auch drin stehen mag) wird wiederum haufenweise Krams nachinstalliert. … Bzw. wird angefangen, haufenweise Krams zu installieren. Tatsächlich bricht die Installation ab mit einer Fehlermeldung bezüglich Problemen mit Archiven von “com.ibm.icu.base.feature.group”.
Nachdem auch mehrfaches Wiederholen nicht half, habe ich dieses widerspenstige Plugin einfach abgewählt (in der Hoffnung, dass es nicht genau das ist, was wir dringend brauchen). Jedenfalls läuft danach die Installation durch, und, Heureka!, nach einem Neustart von Eclipse findet sich unter “Windows | Preferences | General |Capabilities” auch das ersehnte “classic update”. Na also. Geht doch!
Nachdem auch diese Hürde genommen wurde, können wir mit den Instruktionen von Aptana fortfahren: Aufruf von “Help | Software Updates” (nicht von “Software Updates …”, den Eintrag gibt’s zweimal, einmal mit, einmal ohne Punkte, wahrscheinlich, um uns zu verwirren), und dort das Untermenü “Find and Install …”. Nach einiger Zeit öffnet sich ein Dialog und wir wählen dort “Search for new features to install”. Zwischendurch werden wir jetzt gebeten, einen “Mirror” auszuwählen. Wir tun dies brav. Bei der zweiten Nachfrage habe ich mich entschieden, die Option “Select Mirror automaticaly” auszuwählen. Die Sache dauert mir auch so schon lange genug. Nach einiger (längerer!) Zeit erscheint ein weiteres Untermenü, indem ich nach kurzem Grübeln auch den deselektierten Eintrag für einen “WTP-Patch” auswähle (was immer das sein mag). Nach nochmaligem Abnicken von irgendwelchen “license agreements” beginnt eine Installation, unterbrochen von weiteren eher unverständlichen Hinweisen (“Feature Verification: You are about to install an unsigned feature. You may choose to install the feature or cancel its installation”), die ich vorsichtshalber einfach mit “Install all” akzeptiert habe (damit ich nicht erneut gefragt werde und mir dann erneut eingestehen muss, das ich nicht weiß, was genau da eigentlch vor sich geht). Und … Überraschung: der dritte Neustart von Eclipse ist fällig
.
Also nochmal: “Help | Software Updates | Find and Install …”, “Search for new features to install” aufrufen. Endlich öffnet sich der benötigte Dialog “Update sites to visit”:
In diesem Dialog wählen wir “New Remote Site …” und tragen im erscheinenden PopUp unter “Name” “Aptana Studio” und unter “Url” “http://update.aptana.com/install/studio/3.2/” ein. Nach Klick auf “Finish” erscheint ein weiterer Dialog “Updates Search Results”, indem wir “Aptana Studio” auswählen, nach “Next” zum nunmehr vierten Male die gewissenhaft gelesenen “license agreements” akzeptieren und nach einem nochmaligen “Next” die Installation “Finish”en. Naja, was heißt finishen: es folgt ein langer Download. Ich riskiere es und akzeptiere erneut die Installation eines “unsigned features” mit “Install all”. Na was kommt jetzt? Richtig, der obligatorische Neustart von Eclipse!
Nach dem Neustart poppen nach einander zwei Fenster auf. Eines, welches mich darauf hinweist, dass mit der Installation auch eine 30-Tage-Version von Aptana Studio Pro installiert wurde, und dass die wunderbaren zusätzlichen Features dieser Pro-Version bein nächsten Neustart eingeschaltet werden (das ist schön) und leider aber wieder nach 30 Tagen abgeschaltet werden (das ist doof). Ich akzeptiere das mit “OK” (eine andere Wahl habe ich auch nicht). Der zweite Dialog informiert mich darüber, dass Aptana es für notwendig hält, den “Aptana Subversion Support” zu installieren. Ich habe hiergegen keine Einwände. Was folgt? Wir ahnen es schon: Abnicken von “license agreements” und Abwarten eines weiteren Installations-Prozesses (einschließlich eines erneuten “Install all” auf eine erneute Warnung vor “unsigned features”). Was folgt jetzt? Klar, Neustart von Eclipse
Geschafft! Ja, wirklich! Seht selbst:
Doch nein, wir sind noch nicht am Ende. Fertiggestellt ist jetzt die Integration von Apanta Studio in Eclipse aber noch nicht die Installation von RadRails in Apanta Studio. Die RadRails-Installations-Anleitung auf den Apanta-Webseiten bittet uns ein letztes Mal um den nun schon vertrauten Ablauf: Aufruf von “Help | Software Updates | Find and install…” und dann “Search for new features to install” . Danach “Next” und dann “New Remote Site…” auswählen, den
Namen “RadRails” eintragen und als URL “http://update.aptana.com/install/rails/3.2/”. Dann auf “Finish” klicken, noch zweimal “Next” anklicken, dazwischen nochmal RadRails auswählen und wieder Lizenzen abnicken, ein weiteres Mal “Finish” und ein letztes Mal “Install all” und noch ein letzter Neustart und dann ist RadRails installiert (ja, wirklich!). Nach dem Neustart möchte Eclipse dann noch “Aptana RadRails Professional” installieren. Das ist die lizenzpflichtige Version, die wollen wir nicht, wir brechen daher diese Installation ab. Jetzt ist aber wirklich alles fertig!
Der Lohn all der Mühen ist ein installiertes Eclipse mit einem in Aptana Studio integrierten RadRails! Es bleibt zu hoffen, dass es der Mühe wert ist!
Dafür spricht indes einiges (schließlich hätten wir uns der Mühe gar nicht unterzogen, wenn es nicht hierfür handfeste Indizien gäbe). Eines ist das Review in der ersten Ausgabe des Magazins für Ruby on Rails “RailsWay“. Sein Chef-Redakteur, Michael Johann, u. a. Gründer des Magazins “Java Spektrum” und bei uns in der Firma auch durch hervorragende Ruby-Schulungen bekannt, kommt in seinem Review “Mit der IDE von der IDEE zur Realisierung – Integrierte Entwicklungsumgebungen für Ruby on Rails” zu folgendem Fazit: “Apanta ist für Eclipse-erfahrene Entwickler das Mittel der Wahl, wenn es um eine integrierte Entwicklungsumgebung geht, die neben der reinen Ruby-on-Rails-Entwicklung auch noch AJAX, Flex und Adobe AIR umfasst. Für eine erste Version ist das Produkt sehr ausgereift”.
Bleibt abzuwarten, ob sich das Produkt in der Praxis bewährt. Ich bin hoffnungsfroh, dass unsere beiden Praktikanten, die derzeit an einem kleinen Projekt mit Ruby-on-Rails arbeiten, in nicht allzuferner Zukunft einen Erfahrungsbericht beisteuern werden.
Weitere Informationen zu RadRails
- Aptana Foren: http://forums.aptana.com/
- Aptana Website zur RadRails: http://www.aptana.com/rails
- “Working with RadRails”, Einführung von Aptana: http://aptana.com/docs/index.php/RadRails
- Aptana RadRails Buch: amazon.de
- Einführender Artikel von IBM: Make Ruby on Rails easy with RadRails and Eclipse “Conclusion: This article provides a high-level walk through the RadRails IDE for Ruby on Rails. It looks at installing RadRails, the structure and use of the application window, and the primary steps in developing an application. The next steps are up to you. Once you’ve downloaded and installed RadRails and worked through the steps shown here, you know enough to begin using RadRails for your own development.”)
- RadRails Tutorial von awebfactory.com.ar
Installation von Ruby und Ruby on Rails
Aber halt! Wir sind noch nicht fertig. Zum Ruby-Entwickeln fehlt uns ja noch Ruby auf dem Rechner. Und natürlich Ruby on Rails. Und auch hier ist das Leben nicht so einfach, wie man es sich wünscht.
Auf den Ubuntu Webseiten (Ubuntu Community Documentation RubyOnRails) wird ebenso wie auf den RubyOnRails.org-Seiten (Ruby on Rails – Rails on Ubuntu) übereinstimmend zu folgendem Vorgehen geraten:
- Installation von Ruby aus den Ubuntu Paket Quellen (mit apt-get)
- Installation von Rubygems aus den Sourcen (Rubygems ist so etwas wie der Paketmanager von Ruby)
- Installation von Rails mit Rubygems
Wer sich daran nicht hält, dem droht Grauenvolles: “Let gems manage your rails package otherwise gem and apt-get will start fighting like Spock and Captain Kirk in Amok Time. If you haven’t seen that episode, trust me: you don’t want that.”
Gut. Überzeugt. Halten wir uns also an diesen Vorschlag. Zunächst installieren wir “build-essential” über den Ubuntu Package Manager. build-essential enthält alles was man braucht, um Debian/Ubuntu-Packages zu erstellen, keine Ahnung warum wir das wollen, wird aber empfohlen und kann nicht schaden. Es folgt die Installation von “ruby-full”. Mit ruby-full bekommen wir: “emacs emacs22-bin-common emacs22-common emacs22-gtk emacsen-common irb irb1.8 libdbm-ruby libdbm-ruby1.8 libgdbm-ruby libgdbm-ruby1.8 libopenssl-ruby libopenssl-ruby1.8 libreadline-ruby libreadline-ruby1.8 libtcltk-ruby libtcltk-ruby1.8 rdoc rdoc1.8 ri ri1.8 ruby-elisp ruby-full ruby1.8-dev ruby1.8-elisp tcl8.4 tk8.4″. Na, das ist doch was!
sudo apt-get install build-essential sudo apt-get install ruby-full
Außerdem installieren wir auch gleich noch die erforderlichen Web Server zum Ausliefern von Ruby Webpages, ich entscheide mich für den Apache, denkbar wäre aber auch z. B. lighttpd.
sudo apt-get install apache2 apache2-mpm-prefork apache2-prefork-dev
Es folgt die Installation von Rubygems aus den Quellen:
wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz tar xzvf rubygems-1.3.1.tgz cd rubygems-1.3.1 sudo ruby setup.rb # die eigentliche Installation cd .. rm -r rubygems-* # das wird nun nicht mehr gebraucht sudo ln -s /usr/bin/gem1.8 /usr/bin/gem # Symbolischen Link anlegen für die Bequemlichkeit
Abschließend updaten wir Rubygems:
sudo gem update --system
Wenn hierauf eine Meldung ausgegeben wird:”nothing to update”, dann machen wir vorsichtshalber noch:
sudo gem install rubygems-update sudo update_rubygems
Damit sollte dann das Rubygems Update durchgeführt sein.
Es folgt die Installation von Rails und Mongrel mit Rubygems:
sudo gem install rails mongrel
Um Schwierigkeiten bei der Installation von anderen Gems vorzubeugen, empfiehlt sich zusätzlich die Installation des libc development package:
sudo apt-get install libc6-dev
Schließlich brauchen wir noch eine Datenbank (nebst Ruby-Treibern), es bieten sich MySQL oder PostgreSQL an:
sudo apt-get install mysql-server libmysql-ruby sudo apt-get install postgresql libpgsql-ruby
Schließlich noch die Ruby Gem Installation:
sudo apt-get install libmysqlclient15-dev sudo gem install mysql sudo gem install postgres
Mit dem folgenden Befehl erstellen wir die Rails Applikation:
rails mynewapp -d mysql
Jetzt noch die erforderlichen Datenbanken anlegen:
mysql -u root -p mysql> create database mynewapp_development ; mysql> create database mynewapp_production ; mysql> quit
So. Jetzt muss das ganze noch zusammengebunden werden, dass die neue Rails Applikation auf dem Webserver deployed wird … aber das folgt an einem anderen Tag …
-eof-








Wow! Ich hoffe, der Aufwand hat sich gelohnt und Radrails ist wirklich die Wunderwaffe für den Rails Entwickler!
Böse Zungen könnten ja auch behaupten, es wäre einfacher gleich Netbeans 6.5 zu installieren…
Achja, ein Link zu Netbeans + Rails fehlte in meinem vorherigen Post:
http://wiki.netbeans.org/Ruby
Hi Franz,
ja, der Aufwand war schon nicht unerheblich. Der Clou wäre jetzt, den ganzen Aufwand in ein Ubuntu / Debian *deb Package zu stecken und das ganze dann in einem Repository z. B. auf Launchpad zur Verfügung zu stellen. Dann reduziert sich der Aufwand auf wenige Sekunden und auf ein “apt-get install”.
[...] http://blog.p-mt.net/archives/108 [...]