Archív kategorie 'Softwarové nástroje'

Elegantní způsob ukládání verzi v Java archívech

Neděle, Srpen 17th, 2008

Existují situace, kdy aplikaci neinstalujete sami, ale instaluje ji třetí strana - ať už je třetí stranou myšlen technik zákazníka nebo kolega z jiného oddělení firmy. Vy posléze přijdete už k nainstalované aplikaci, u které si nikdy tak úplně stoprocentně nemůžete být jisti verzí neřkuli verzemi knihoven, které daná aplikace používá. Přesto tato znalost může být pro řešení některých problémů zásadní (např. proto, že oprava může spočívat v pouhé instalaci nové verze knihovny / modulu). Můžete se s tím setkat i v daleko prostším případě - pokud vyvíjíte nějaký produkt s velkým množstvím instalací - chvíli vám může trvat než zjistíte jakou verzi má daný zákazník, u kterého řešíte nahlášené problémy.

Přímočarým řešením je vytvoření nějaké info stránky se seznamem knihoven / modulů a jejich verzí, které jsou použity v aplikaci, která by vám umožnila všechny potřebné informace zjistit během vteřiny. V tu chvíli už se ale dostáváte k druhému problému - jak zajistit (nelépe automatické) verzování knihoven, aby bylo zajistěno, že se knihovny budou pravidelně verzovat, a že u všech knihoven bude tato informace jednoduše přístupná (a opět nejlépe jednotným způsobem, aby info stránka neměla s vyhledáváním této informace problém).

Problém se zdá možná jednoduchý, ale můžete narazit na celou řadu nepříjemností jako se to stalo třeba nám. Řešení může být ale opravdu velmi prosté …

(pokračování …)

Teamcity & CVS & Maven: release on server

Sobota, Červen 28th, 2008

If you use Maven 2 and Teamcity integration server, you might want to perform releases on server. Although it’s not so complicated, some things must fit one into another and you might spend a lot of time till you find out how to configure pom.xml and build configuration. For those of you, who need to setup it, this article could come quite handy.

(pokračování …)

DesktopOK - ikonky pod kontrolou

Čtvrtek, Květen 15th, 2008

Tento problém je starý jako Windows samy. Při jakékoliv změně rozlišení obrazovky a někdy i jen tak z legrace, Windowsy sesypou ikonky na ploše. Neexistuje žádná systémem podporovaná funkce, která by si uměla pozice ikonek zapamatovat a následně obnovit. S příchodem nadupaných notebooků s vysokým rozlišením, které tu a tam napojíte na projektor nebo klasické LCD s nižším rozlišením tedy pravideně přicházíte o rozložení ikonek. Někomu to nevadí, ale já potřebuju mít svých 20 ikonek na ploše na správných místech.

(pokračování …)

Jak nainstalovat MySQL server na Windows Vista

Sobota, Březen 29th, 2008

Nedávno jsme celá firma obnovili notebookový park a přešli na Windows Vista. Při zprovozňování infrastruktury jsem narazil na problém s instalací MySQL server verze 5.1. Instalace serveru jako taková proběhla bez potíží, když se ale měl nastartovat konfigurační průvodce pro zprovoznění serveru k ničemu nedošlo. V event logu windows jem narazil pouze na tuto hlášku:

Activation context generation failed for “C:\Program Files\MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig.exe”.Error in manifest or policy file “C:\Program Files\MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig.exe” on line 6. The value “asAdministrator” of attribute “level” in element “urn:schemas-microsoft-com:asm.v1^requestedPrivileges” is invalid.

(pokračování …)

Retrotranslator - hladce z Javy 1.5 do 1.4

Středa, Leden 9th, 2008

Řada z vás si určitě řekne, co to ten Fura vytahuje za prehistorická témata. V době, kdy se už živě diskutuje o tom, co bude v Javě 1.7, rozebírá přechod z verze 1.4 na verzi 1.5. Možná vás to překvapí, ale v našem prostředí (server web aplikace), provozujeme ještě řadu instalací na verzi 1.4 a možnosti upgradu v nedohlednu. Proto je pro nás stále aktuální udržovat / vytvářet sdílené knihovny i pro 1.4 verzi Javy. Hledali jsme a zkoušeli tedy nějakou co nejméně bolestivou cestu, jak využít možností vyšších verzí se zachováním zpětné přenositelnosti. A naším (mým :-) ) favoritem se stal Retrotranslator. Více o jeho použití se dočtete v tomto článku.

(pokračování …)

Maven2, release plugin a přístup do CVS přes SSH s privátním klíčem

Pátek, Listopad 2nd, 2007

Před tím, než jsem mohl ozkoušet maven-release-plugin, na který jsem si stěžoval v článku Co bych rád slyšel v září na CZJUG, musel jsem rozchodit přístup do našeho CVS skrze SSH s přihlašováním pomocí privátního klíče. Po zkušenostech můžu říct, že to byla práce nelehká a musím potvrdit negativní ohlasy ostatních, že v některých případech dokumentace k Mavenu (respektive k jeho konkrétním pluginům) je opravdu nedostatečná. Oříšek jsem nakonec rozlousknul díky zdrojákům a oddebugování.

Krom tohoto problému se v článku dotknu ještě site:deploy opět na server přes SSH s použitím privátního klíče. Jeden by si myslel, že zprovoznění prvního problému vyřeší všechny problémy tohoto charakteru, ale ouvej. Řada věcí je v maven pluginech řešena znovu a jinak. A toto je přesně ten případ. Řešení tu najdete také.

(pokračování …)

Co bych rád slyšel v září na CZJUG

Středa, Srpen 22nd, 2007

Tento post je tak trochu věnován Petru Ferschmannovi ze SoftEU, který bude mít 19. září 2007 přednášku na téma praktické nasazení Mavenu na CZJUGu. Jelikož vím, že občas na můj blog zamíří (doufám že pravidelně :-) ), věřím, že na článek zareaguje a kdo ví - třeba na moje otázky v září odpoví.
(pokračování …)

Porovnání Maven 2 pluginů pro IntelliJ Idea

Neděle, Srpen 12th, 2007

Integrace build systému do IDE je věc pro mne nepostradatelná. Není ovšem integrace jako integrace. Pokud používáte Maven 2 a IntelliJ Idea jako my zjistíte, že pluginů je řada, ale velmi rozdílné kvality a velmi rozdílné aktuálnosti.

Navíc osobně si velmi cením možnosti buildovat projekt přímo z IDE - toto buildování je totiž řádově rychlejší než kterýkoli ant / maven build, jelikož IDE ví přesně, které třídy se změnily a zda je třeba překompilovat závislé třídy a když, tak jaké. Ant a Maven při vší své dokonalosti dokáží rozeznat a překompilovat jen třídy se změněným timestamp, ale závislé třídy nezkompilují. Dále mi to umožňuje jednoduše používat HOT replace funkcionalitu, pouštět testy přímo z IDE atd. Důvodů je prostě řada. Proto jsem chtěl, aby mi plugin pomohl zůstat ve svém IDE, ale pro správu dependencí a produkčních buildů využít daleko lepších možností Maven 2. Chvíli to trvalo, ale našel jsem.

(pokračování …)

Zajímavý článek o Artifactory na The Server Side

Čtvrtek, Červen 21st, 2007

Na serveru The Server Side vyšel zajímavý článek o Artifactory. Pro ty kdož chtějí Artifactory nasadit pro vnitrofiremní použití se jistě jedná o velmi užitečný článek. Faktem je, že Artifactory se dá velmi jednoduše nasadit i bez větších znalostí - jedná se o velmi user friendly aplikaci.

Jediný problém, na který jsem narazil (a který je tedy relativně dost nepříjemný) byl ve verzi 1.2.1-rc0, kdy při deployi do repository se náhodně vracel HTTP 500 - Internal Server Error, díky problematické práci se zámky v JackRabbitu. Více zde. Problém je ale v pozdějších verzích již opraven

Maven 2 - Kompletní průvodce zdarma online

Pátek, Duben 27th, 2007

Na http://theserverside.com vyšla upoutávka na elektronickou knihu o Mavenu. Trošku jsem do ní nakouknul a opravdu poměrně podrobně a přehledně pokrývá problematiku okolo tohoto skvělého projektového systému. Vřele doporučuji, už jsem si ji zařadil do fronty - díky přehlednosti v ní jistě bude možné nalézt i řešení na ad hoc problémy.

HTML verzi naleznete zde

PDF verzi ke stažení zde