java blog jAbLoK

... řekněte Javě Ja!

/** * @author Pavel Kolesnikov * @date 11.1.2004 v 21:29 */

Co přinesou Apache Portals?

Ve vývojářské konferenci projektu Jetspeed vzniká plán na projekt Apache Portals (plánovaný na zatím nefunkční adrese portals.apache.org). Projekt má zastřešit stávající projekty, které se portálů nějak týkajï - řeč je o Jetspeedu, Cocoonu, Plutu, WSRP4J a Cornerstone.

Zatím si můžete přečíst návrh zakládací listiny projektu.

Kromě zastřešující funkce si projekt klade za cíl i vývoj nových produktů a vývojových frameworků, a to nejen pro jazyk Java, zmíněny jsou též Python, Perl či PHP.

/** * @author Tomáš Zvěřina * @date 8.1.2004 v 09:05 */

Java Web Start

Svět není jen samé J2EE, existují i jiné package než javax.* a také známe i aplikace, které neběží na serveru. Poznáte je podle toho, že se skládají z hezkých tlačítek, obrázků a textových polí :-). Dřív nebo později musí tvůrce takového programu uvážit, jak ho nejsnáze nainstalovat na počítače svých nespočetných zákazníků. A v tu chvíli mu strýček Sun podá pomocnou ruku v podobě technologie Java Web Start.

Stačí vytvořit jednoduchý XML soubor, ve bude popsáno kde se aplikace nachází, které knihovny se mají stáhnout, co se má vlastně spustit a myslí se zde i na takové věci jako je ikonka, popis, výrobce apod. Odkaz na tento soubor umístíte na stránky vašeho produktu a samotná instalace pak pro uživatele znamená jen jedno kliknutí. Nutnost již naistalovaného JRE asi nepřekvapí.

Browserem spuštěný JWS se pak postará např. o lokální uložení aplikace a při dalším spuštění jen očkem nahlédne, jestli jste náhodou nevydali novější verzi. Kromě toho existuje i na prohlížeči nezávislá centrála, ve které může uživatel všechny již nainstalované aplikace prohlížet a spouštět.

Jak to vypadá v praxi:

A kde dále číst:

/** * @author Pavel Kolesnikov * @date 7.1.2004 v 15:05 */

J2sdk 1.4.2, Linux a NoClassDefFoundError: java/lang/Object

Postihla mě chyba, o které jsem si dosud myslel, že ji píší jen naprostí začátečníci do konferencí. Stáhl jsem si po čase aktuální j2sdk 1.4.2 03, rozbalil (na počítači mám Debian Linux) — a nic. Přesněji:

$ java
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

$JAVA HOME nastaveno, java se spouští přesně ta, co má... co to? A vida — rozbalené SDK neobsahuje rt.jar, pouze rt.pack. Strace samozřejmě hlásí:

stat64("/usr/java/j2sdk1.4.2 03/jre/lib/rt.jar", 0xbfffbfdc) = -1 ENOENT (No such file or directory)

Řešení:

cd $JAVA HOME/lib ; unpack tools.pack tools.jar
cd ../jre/lib ; ../../lib/unpack rt.pack rt.jar

(první řádek je tam proto, že tools.jar se v daném balíku taky nenachází).

A proč že 1.4.2 zkouším až teď? Na podzim jsme zaznamenali chybu v metodě String.replaceAll(), která spočívá v tom, že metoda nerozpocnává některé české znaky. Chybu jsem tehdá reportoval, ale do BugParade se nedostala. A výsledek dnešního zádrhelu je navíc ten, že ani v aktuální verzi 1.4.2 03 tato chyba opravena není. Tak snad příště...