Dreieinhalb Jahre nach Java EE 5 hat Sun heute die endgültige Spezifikation von Java EE 6 freigegeben. Bestandteil davon sind u.a. die Spezifikationen von EJB 3.1, JPA 2.0 und JSF 2.0.
Der Download des Java EE 6 SDK enthält den Application Server GlassFish v3 als Referenzimplementation (neben Beispielen samt Dokumentation).
Ebenfalls verfügbar ist die an JEE 6 und GlassFish v3 angepasste Entwicklungsumgebung NetBeans 6.8. Eclipse-Anwender finden hier das entsprechende Plugin.
Wer bereits jetzt Java-Enterprise-Projekte auf Basis von JEE 5 entwickelt, dem dürfte die Umstellung auf die neue Version nicht allzu schwer fallen – sofern der eingesetzte Application Server kompatibel zur neuen Spezifikation ist.
Eine dreiteilige Einführung in Java EE 6 hat Sun hier veröffentlicht.
Donnerstag, 10. Dezember 2009
Dienstag, 8. Dezember 2009
Eclipse 3.5 Galileo, Software-Updates und Proxy-Verbindungen
Je nach Netzwerkumgebung gibt es mit Eclipse immer wieder Probleme beim Installieren von Plugins (über das Menü Help > Install New Software...) bzw. beim automatischen Aktualisieren bereits installierter Erweiterungen (über Help > Check for Updates). Grund sind meistens Proxies, die von Eclipse nicht unterstützte Protokolle verwenden, sowie Firewalls, die eigene Zertifikate für https-Verbindungen ausgeben.
Sofern man das Zertifikat der Firewall besitzt (eine Datei üblicherweise mit der Endung
Ein anderes Problem stellen NTLMv2-Proxy-Server dar, die seit Eclipse 3.5 nicht mehr direkt unterstützt werden. Neben der korrekten Einrichtung der Proxy-Adresse und der Authentifizierungsdaten unter Preferences > General > Network Connections muss in der Datei
Sofern man das Zertifikat der Firewall besitzt (eine Datei üblicherweise mit der Endung
*.cer), kann man dieses in den Keystore der Java-Installation importieren. Welche Java-Installation von Eclipse verwendet wird, kann man unter About Eclipse > Installation Details > Configuration herausfinden. Unter Windows lautet der Aufruf des keytool-Kommandozeilenbefehls beispielsweiseC:\Programme\Java\jre6\bin\keytool -import -v"changeit" ist das Standard-Passwort des KeyStores, sofern Sie es nicht geändert haben.
-file PfadZumZertifikat
-keystore C:\Programme\Java\jre6\lib\security\cacerts
Geben Sie das Keystore-Passwort ein: changeit
Ein anderes Problem stellen NTLMv2-Proxy-Server dar, die seit Eclipse 3.5 nicht mehr direkt unterstützt werden. Neben der korrekten Einrichtung der Proxy-Adresse und der Authentifizierungsdaten unter Preferences > General > Network Connections muss in der Datei
eclipse.ini (im Eclipse-Programmverzeichnis) am Ende folgende Zeile hinzugefügt werden:-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclientIn Eclipse 3.5 war es in der o.g. Preferences-Seite zudem notwendig, den "Active Provider" auf "Native" zu stellen. In Eclipse 3.5.1 funktioniert auch die Einstellung "Manual".
Montag, 16. November 2009
Scala-Code als und in einer Java-Anwendung ausführen
Compilierter Scala-Bytecode lässt sich problemlos in bestehende Java-Anwendungen integrieren. Möglich ist dies, weil der Scala-Compiler ganz normalen Java-Bytecode erzeugt. Als Laufzeitumgebung sollte dabei Java 5.0 oder neuer zum Einsatz kommen.
Dazu wird eine Scala-Installation benötigt. Am besten nimmt man den IzPack-Installer. Das Installationsverzeichnis heißt im folgenden Beispiel "scala-2.7.7".
Ebenso einfach kann man Scala-Code in bestehende Java-Anwendungen integrieren. Man übernimmt einfach die compilierten class-Dateien und setzt
Die Benutzung von Klassen zwischen Java und Scala besteht meistens ganz einfach darin, wie gewohnt den (vollqualifizierten oder importierten) Klassennamen zu verwenden.
Dazu wird eine Scala-Installation benötigt. Am besten nimmt man den IzPack-Installer. Das Installationsverzeichnis heißt im folgenden Beispiel "scala-2.7.7".
object HalloScalaWelt extends Application {
println("Hallo Scala!")
}Dieses ausführbare Singleton-Objekt speichert man als Datei "HalloScalaWelt.scala", die nun übersetzt und ausgeführt wird:HeartOfGold:~ much$ scalac HalloScalaWelt.scalaBereits jedem Java-Einsteiger sollten diese Kommandos irgendwie bekannt vorkommen. Entsprechend führen wir die erzeugten class-Dateien ganz einfach als Java-Anwendung aus:
HeartOfGold:~ much$ ls Hallo*.class
HalloScalaWelt$.class HalloScalaWelt.class
HeartOfGold:~ much$ scala HalloScalaWelt
Hallo Scala!
HeartOfGold:~ much$Unter Windows gibt man beim Klassenpfad (Option
java -cp scala-2.7.7/lib/scala-library.jar:. HalloScalaWelt
Hallo Scala!
-cp oder -classpath) vor dem Punkt am Ende (= aktuelles Verzeichnis) ein Semikolon anstelle des Doppelpunkts an.Ebenso einfach kann man Scala-Code in bestehende Java-Anwendungen integrieren. Man übernimmt einfach die compilierten class-Dateien und setzt
scala-library.jar auf den Klassenpfad – fertig!Die Benutzung von Klassen zwischen Java und Scala besteht meistens ganz einfach darin, wie gewohnt den (vollqualifizierten oder importierten) Klassennamen zu verwenden.
Freitag, 13. November 2009
Java ME SDK 3.0 für Mac OS X
Die Entwicklung von Applikationen für Java ME, der Java-Plattform für mobile Geräte, war unter Mac OS X ein eher schwieriges Thema. Wichtige Bestandteile des SDKs fehlten oder wurden nicht offiziell unterstützt (Anleitungen für "inoffizielle" Lösungen gibt es z.B. hier, hier oder hier).
Vor drei Wochen hat Sun nun endlich das Java ME SDK 3.0 als Early Access (EA) für Mac OS X 10.5.8 und neuer veröffentlicht. Das DMG enthält das komplette SDK als eine Applikation, die einfach per Drag&Drop in den Programme-Ordner installiert wird.
Die SDK-Entwicklungsumgebung basiert auf der NetBeans-Plattform und ermöglicht erstmalig CLDC-Entwicklung auf Mac OS X. Enthalten ist außerdem der JavaFX 1.2.1 Mobile Emulator.
Vor drei Wochen hat Sun nun endlich das Java ME SDK 3.0 als Early Access (EA) für Mac OS X 10.5.8 und neuer veröffentlicht. Das DMG enthält das komplette SDK als eine Applikation, die einfach per Drag&Drop in den Programme-Ordner installiert wird.
Die SDK-Entwicklungsumgebung basiert auf der NetBeans-Plattform und ermöglicht erstmalig CLDC-Entwicklung auf Mac OS X. Enthalten ist außerdem der JavaFX 1.2.1 Mobile Emulator.
VisualVM 1.2
Nachdem im Oktober Version 1.2 des Monitoring- und Profiling-Werkzeugs VisualVM veröffentlicht wurde, folgte Anfang dieser Woche das Bugfix-Release 1.2.1. Beide Versionen basieren auf dem Profiler von NetBeans 6.7.1.
Neu ist u.a. die stabile Version des "Sampler"-Plugins, mit dem schnell ein einfaches (aber oft schon vollkommen ausreichendes) CPU- und Speicher-Profiling durchgeführt werden kann. Wie die übrigens Plugins muss auch dieses im Menü Tools > Plugins installiert werden:
Außerdem kann man nun endlich eventuell notwendige Proxy-Einstellungen innerhalb von VisualVM vornehmen. Weitere Änderungen und Ergänzungen sind hier aufgelistet.
Neu ist u.a. die stabile Version des "Sampler"-Plugins, mit dem schnell ein einfaches (aber oft schon vollkommen ausreichendes) CPU- und Speicher-Profiling durchgeführt werden kann. Wie die übrigens Plugins muss auch dieses im Menü Tools > Plugins installiert werden:
Außerdem kann man nun endlich eventuell notwendige Proxy-Einstellungen innerhalb von VisualVM vornehmen. Weitere Änderungen und Ergänzungen sind hier aufgelistet.
Dienstag, 3. November 2009
Java EE SDK unter Snow Leopard installieren
Mac OS X 10.6 "Snow Leopard" enthält Java SE 6 als einzige Java-Laufzeitumgebung (und nicht mehr Java 1.4, 5.0 und 6 wie Mac OS X 10.5). Das bringt ein Problem mit sich, wenn man Suns aktuelles Java EE 5 SDK Update 7 installieren möchte, denn das Installationsskript ist fest verdrahtet auf ein installiertes Java 5 angewiesen. Im System sind zwar die Ordner für Java 5.0 vorhanden, die verweisen aber auf die Java 6-Installation – und das reicht dem Skript leider nicht aus.
Im konkreten Fall haben wir das Archiv
Zum Glück ist die Lösung recht einfach (man muss dafür kein altes Java 5.0 aus Mac OS X 10.5 installieren). In der Skript-Datei
Im konkreten Fall haben wir das Archiv
java_ee_sdk-5_07-mac-nojdk.zip (Download "GlassFish Java EE") ausgepackt und zu installieren versucht:HeartOfGold:java_ee_sdk-5_07-mac-nojdk much$ chmod a+rx setup
HeartOfGold:java_ee_sdk-5_07-mac-nojdk much$ ./setup
Installer cannot find a suitable 1.5.x version of JDK under the
following directories.
1. /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
2. /Library/Java/Home
Please rerun with -javahome argument pointing to a valid 1.5 version of JDK.
Zum Glück ist die Lösung recht einfach (man muss dafür kein altes Java 5.0 aus Mac OS X 10.5 installieren). In der Skript-Datei
setup ersetzt man mit einem Texteditor in Zeile 54 einfach am Ende der Zeile "1.5" durch "1.6":54: javaVersion=`${TIGER_JAVAHOME} ... ${GREP} 1.6`
Das war es dann auch schon! Der Installer lässt sich nun auch mit Java 6 problemlos ausführen, und GlassFish läuft auch (bzw. gerade) mit dem aktuellen JRE hervorragend.
Donnerstag, 15. Oktober 2009
IntelliJ IDEA 9: Community Edition und Open Source
Die Entwicklungsumgebung IntelliJ IDEA ist seit längerem der Geheimtipp für Java-Entwickler. Doch während Eclipse und NetBeans kostenlos erhältlich und weit verbreitet sind, schreckten viele vor dem dreistelligen Kaufpreis für eine IDE(A) zurück.
Mit der kommenden Version 9.0 wird IntelliJ IDEA nun Open Source und steht seit heute auch in einer kostenlosen Community Edition zur Verfügung. Mit dieser Edition kann Java SE, Groovy und Scala programmiert werden (inkl. Debugging, Refactoring, Testen, Versionsverwaltung etc.).
Für die Entwicklung von Web- und Enterprise-Applikationen wird die weiterhin kostenpflichtige Ultimate Edition benötigt, die neben aktuellen und künftigen Standards (Java EE 6 etc.) zahlreiche Programmiersprachen, Frameworks und Versionsverwaltungssysteme zusätzlich unterstützt.
Fazit: Für professionelle JEE-Entwicklung ist zwar nach wie vor die kostenpflichtige Ultimate Edition notwendig, aber zumindest kann sich nun jeder einen ausführlichen Eindruck von IntelliJ verschaffen. Und das hat diese Entwicklungsumgebung durchaus verdient.
Mit der kommenden Version 9.0 wird IntelliJ IDEA nun Open Source und steht seit heute auch in einer kostenlosen Community Edition zur Verfügung. Mit dieser Edition kann Java SE, Groovy und Scala programmiert werden (inkl. Debugging, Refactoring, Testen, Versionsverwaltung etc.).
Für die Entwicklung von Web- und Enterprise-Applikationen wird die weiterhin kostenpflichtige Ultimate Edition benötigt, die neben aktuellen und künftigen Standards (Java EE 6 etc.) zahlreiche Programmiersprachen, Frameworks und Versionsverwaltungssysteme zusätzlich unterstützt.
Fazit: Für professionelle JEE-Entwicklung ist zwar nach wie vor die kostenpflichtige Ultimate Edition notwendig, aber zumindest kann sich nun jeder einen ausführlichen Eindruck von IntelliJ verschaffen. Und das hat diese Entwicklungsumgebung durchaus verdient.
Abonnieren
Posts (Atom)
