<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1720876692556098372</id><updated>2011-11-14T06:39:50.483-08:00</updated><category term='jboss'/><category term='maven'/><category term='Spring'/><category term='OSGi'/><category term='maven2'/><category term='REST SOA'/><category term='activemq jboss ejb3'/><category term='swing'/><category term='eclipse javadoc'/><category term='książka'/><title type='text'>jeszcze jeden blog o javie</title><subtitle type='html'>informacje dotyczące projektowania i programowania w Javie, zagadnień automatycznego budowania oraz ciągłej integracji</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-5198227692888602073</id><published>2008-07-20T10:51:00.001-07:00</published><updated>2008-07-20T11:00:53.708-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST SOA'/><title type='text'>Ciekawa prezentacja o zaletach REST w implementacji SOA</title><content type='html'>Polecam prezentację w której Steve Vinoski przedstawia opinię wedle której usługi REST znakomicie nadają się do realizacji koncepcji SOA: &lt;a href="http://www.infoq.com/presentations/rest-vinoski"&gt;http://www.infoq.com/presentations/rest-vinoski&lt;/a&gt;.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Dodatkowo polecam 2 artykuły na temat założeń usług w koncepcji REST (REpresentational State Transfer): &lt;br&gt;&lt;br /&gt;&lt;a href="http://www.infoq.com/articles/rest-anti-patterns"&gt;http://www.infoq.com/articles/rest-introduction&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.infoq.com/articles/rest-anti-patterns"&gt;http://www.infoq.com/articles/rest-anti-patterns&lt;/a&gt;&lt;br /&gt;oba autorstwa Stefan Tilkova.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-5198227692888602073?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/5198227692888602073/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=5198227692888602073' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5198227692888602073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5198227692888602073'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/07/ciekawa-prezentacja-o-zaletach-rest-w.html' title='Ciekawa prezentacja o zaletach REST w implementacji SOA'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-8919564825484407458</id><published>2008-07-13T14:18:00.000-07:00</published><updated>2008-07-13T15:07:40.377-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse javadoc'/><title type='text'>polski słownik do eclipse</title><content type='html'>Eclipse od wersji 3.3 pozwala na sprawdzanie pisowni komentarzy JavaDoc. Jest to dobra rzecz, jeśli poważnie myślimy o wykorzystaniu tworzonego kodu w przyszłości i traktujemy dokumentację kodu jako kluczowy element.&lt;br /&gt;&lt;br /&gt;Domyślnie sprawdzanie pisowni działa tylko w języku angielskim. Szukałem gotowego polskiego słownika do eclipse, ale nie udało mi się niczego znaleźć. Postanowiłem więc utworzyć taki słownik. Eclipse wymaga najprostrzego możliwego formatu: jeden wyraz w jednej linii, więc zadanie było łatwe, do rozwiązania była jedynie kwestia "kontentu". Sprawdziłem słowniki ispell, jednak nie udało mi się znaleźć skompilowanej (zawierającej wszystkie odmiany wyrazów) wersji. Na szczęscie aspell okazał się przyjazdny - do dyzpozycji mamy nie tylko pełny polski słownik, ale również możemy uruchamiać komendę aspell w cygwin. &lt;br /&gt;Po kilku operacjach udało się wygenerować wymagany przez eclipse plik. &lt;br /&gt;&lt;br /&gt;Należało wykonać następujące operacje (z linii komend w cygwin lub pod linuxem):&lt;br /&gt;1. wygenerować wszystkie wyrazy z polskiego słownika:&lt;br /&gt;&lt;pre&gt; aspell --lang=pl dump master | aspell --lang=pl expand &gt; wyrazy_pl.txt &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. przekonwertować plik do postaci jeden wyraz w jednej linii:&lt;br /&gt;&lt;pre&gt;tr ',' '\n' &lt; wyrazy_pl.txt &gt; wyrazy2_pl.txt&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;3. przekodować plik z iso-8859-2 na utf-8:&lt;br /&gt;&lt;pre&gt;iconv -f iso-8859-2 -t utf-8 wyrazy2_pl.txt &gt; eclipse_pl.dict&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;na koniec w elipse w menu preferences: General &gt; Editors &gt; Text Editors &gt; Spelling ustawiamy User Definined dictionary na nasz słownik. Proponuję również zmniejszyć ilość prawidłowych podpowiedzi do 5. &lt;br&gt;&lt;br /&gt;&lt;br /&gt;Teraz po ponownym otwarciu plików źródłowych z polskimi komentarzami mamy już sprawdzanie pisowni prawie jak w wordzie :-).&lt;br /&gt;A jeśli jakiś wyraz jest błędy - eclipse podpowie nam prawidłową wersję wyrazu gdy klikniemy Ctrl-1 (tak samo jak z kodem).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jeśli ktoś będzie zainteresowany - mogę wystawić gotowy plik ze słownikiem (licencja raczej nie stanowi problemu).&lt;br /&gt;&lt;br /&gt;(polish dictionary eclipse)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Źródła:&lt;br /&gt;- Słownik pochodzi ze strony: http://aspell.net/win32/. (Wszystkie prawa należą do twórców słownika).&lt;br /&gt;- manual do aspell&lt;br /&gt;- cygwin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-8919564825484407458?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/8919564825484407458/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=8919564825484407458' title='Komentarze (5)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/8919564825484407458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/8919564825484407458'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/07/polski-sownik-do-eclipse.html' title='polski słownik do eclipse'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-2479738480554114405</id><published>2008-06-01T14:14:00.000-07:00</published><updated>2008-06-01T14:22:06.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='activemq jboss ejb3'/><title type='text'>jboss + mdb w ejb3 + activemq</title><content type='html'>Jesli ktos mial problem z uruchomieniem MessageDrivenBean dla ejb3 na serwerze aplikacji JBoss i borykal sie z wyjatkiem: &lt;br /&gt;... javax.naming.NameNotFoundException: DefaultJMSProvider not bound ...,&lt;br /&gt; oto krotki artykul opisujący jak to zrobić:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cwiki.apache.org/ACTIVEMQ/using-activemq-with-ejb3-jboss-example.html"&gt;http://cwiki.apache.org/ACTIVEMQ/using-activemq-with-ejb3-jboss-example.html&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-2479738480554114405?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/2479738480554114405/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=2479738480554114405' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/2479738480554114405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/2479738480554114405'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/06/jboss-mdb-w-ejb3-activemq.html' title='jboss + mdb w ejb3 + activemq'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-5516184016255035629</id><published>2008-05-25T13:58:00.000-07:00</published><updated>2008-05-25T14:06:45.278-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSGi'/><category scheme='http://www.blogger.com/atom/ns#' term='Spring'/><title type='text'>prezentacja OSGi na bazie SpringFramework</title><content type='html'>W znakomitym serwisie &lt;a href="http://parleys.com"&gt;parleys.com &lt;/a&gt;(naprawdę polecam jako miejsce w którym można znaleźć wiele arcykiekawych prezentacji ) natrafilem na prezentację dotyczącą wykorzystania OSGi na bazie Springa. &lt;br /&gt;Pierwsza częsć to niezwykle jasne przedstawienie OSGi - chyba najlepsze jakie widzialem w sieci. W drugiej czesci dowiemy sie o tym jak Spring ulatwia oparcie budowanego systemu na OSGi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-5516184016255035629?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/5516184016255035629/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=5516184016255035629' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5516184016255035629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5516184016255035629'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/05/prezentacja-osgi-na-bazie.html' title='prezentacja OSGi na bazie SpringFramework'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-8622730285063399356</id><published>2008-05-10T10:29:00.000-07:00</published><updated>2008-05-10T10:52:44.323-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='swing'/><title type='text'>Sun pracuje nad komponentem renderującym HTMLa z prawdziwego zdarzenia</title><content type='html'>Cos czego zawsze brakowalo desktopowej javie to komponent slużący do renderowania HTMLa, umożliwiający zagnieżdżenie przeglądarki. Istnieje kilka rozwiązań opartych JNI wykorzystujących natywne przeglądarki takie jak JDic, a ostatnio reaktywownay &lt;a href="https://jdic.dev.java.net/#JDICplus"&gt;JDicPlus&lt;/a&gt; czy obiecujący &lt;a href="http://djproject.sourceforge.net/ns/"&gt;DJNativeSwing &lt;/a&gt;, ale są problemy z ich pracą na mniej popularnych platformach, a i możliwosci integracji sa mocno ograniczone.&lt;br /&gt;&lt;br /&gt;Dlatego tak bardzo ucieszyly mnie wiesci z tegoroczonej konferencji &lt;a href="http://java.sun.com/javaone/sf/index.jsp"&gt;JavaOne&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Na jednej z prezentacji JavaFX pokazano demo wykorzystujące nowy komponent opracowany przez Sun o nazwie &lt;strong&gt;JWebPane&lt;/strong&gt;, który jest rendererem HTMLa stworzonym calkowicie w Javie. Inne jego cechy to: obsluga JavaScript i renderowanie zagnieżdżonych komponentów Swing (choc oczywiscie sam JWebPane jako komponent Swing też można zagnieździć). &lt;br /&gt;Pytanie oczywiscie jak to będzie wyglądalo w praktyce, jak np. ze wsparciem dla CSS. &lt;br /&gt;&lt;br /&gt;Pozostaje poczekać, aż komponent będzie szerzej dostępny.&lt;br /&gt;&lt;br /&gt;Źródla:&lt;br /&gt;&lt;a href="http://floris.ouwendijk.nl/blog/index.php?blog=2&amp;title=javaone_day_1&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1"&gt;http://floris.ouwendijk.nl/blog/index.php?blog=2&amp;title=javaone_day_1&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adam-bien.com/roller/abien/entry/what_s_actually_interesting_about"&gt;http://www.adam-bien.com/roller/abien/entry/what_s_actually_interesting_about&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-8622730285063399356?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/8622730285063399356/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=8622730285063399356' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/8622730285063399356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/8622730285063399356'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/05/sun-pracuje-nad-komponentem-renderujcym.html' title='Sun pracuje nad komponentem renderującym HTMLa z prawdziwego zdarzenia'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-7712949650115313078</id><published>2008-04-29T07:29:00.000-07:00</published><updated>2008-04-29T07:38:48.289-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><title type='text'>dobry link: Migrating to Maven 2 (Part 1)</title><content type='html'>Dla zainteresowanych i rozważających wykorzystanie Apache Maven 2 do budowania i ogólnie zarządzania cyklem życia aplikacji, Jim Bethancourt na swym blogu publikuje dobry tekst wprowadzający do tego narzędzia :&lt;br /&gt;&lt;a href="http://java.dzone.com/news/migrating-maven-2-part-1-0"&gt;&lt;br /&gt;http://java.dzone.com/news/migrating-maven-2-part-1-0&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-7712949650115313078?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/7712949650115313078/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=7712949650115313078' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/7712949650115313078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/7712949650115313078'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/04/dobry-link-migrating-to-maven-2-part-1.html' title='dobry link: Migrating to Maven 2 (Part 1)'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-3747078918086631336</id><published>2008-04-28T05:28:00.000-07:00</published><updated>2008-04-28T05:34:32.638-07:00</updated><title type='text'>Przygotowanie aplikacji dystrybuowanej poprzez Java Webstart</title><content type='html'>Technologia Webstart pozwala uruchamianie aplikacji desktopowych Java poprzez przeglądarkę. Użytkownik pobiera plik deskryptora aplikacji JNLP, który zawiera opis wszystkich niezbędnych do pobrania bibliotek oraz klasy uruchomieniowej. Moduł webstart będący częścią pakietu JRE odczytuje plik JNLP i pobiera najnowszą wersję wskazanych bibliotek (o ile się zmieniły) oraz uruchamia aplikację. &lt;br /&gt;Przygotowanie wersji webstart naszej aplikacji wymaga utworzenia pliku JNLP, przygotowania i podpisania bibliotek jar oraz umieszczenia wszystkiego na serwerze tak aby całość była dostępna poprzez protokół http. &lt;br /&gt;W automatyzacji tego procesu może pomóc nam wtyczka do Maven2 o nazwie webstart-maven-plugin. &lt;br /&gt;&lt;br /&gt;Będziemy potrzebowali:&lt;br /&gt;- pliku z kluczem (możemy go wygenerować za pomocą keygen) &lt;br /&gt;- szablonu pliku JNLP:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;jnlp&lt;br /&gt;    spec="1.0+"&lt;br /&gt;    codebase="http://localhost:8080/webstart/"&lt;br /&gt;    href="$outputFile"&amp;gt;&lt;br /&gt;  &amp;lt;information&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;Moja aplikacja 123&amp;lt;/title&amp;gt;&lt;br /&gt;    &amp;lt;vendor&amp;gt;3e software house &amp;lt;vendor/&amp;gt;&lt;br /&gt;    &amp;lt;homepage&amp;gt;http://3e.pl&amp;lt;homepage/&amp;gt;&lt;br /&gt;    &amp;lt;description kind="one-line"&amp;gt; &amp;lt;/description&amp;gt;&lt;br /&gt;  &amp;lt;/information&amp;gt;&lt;br /&gt;  &amp;lt;security&amp;gt;&lt;br /&gt;     &amp;lt;all-permissions/&amp;gt;&lt;br /&gt;  &amp;lt;/security&amp;gt;&lt;br /&gt;  &amp;lt;resources&amp;gt;&lt;br /&gt;    &amp;lt;j2se version="1.4+"&lt;br /&gt;     initial-heap-size="32m"&lt;br /&gt;     max-heap-size="128m"&lt;br /&gt;     /&amp;gt;&lt;br /&gt;     $dependencies&lt;br /&gt;  &amp;lt;/resources&amp;gt;&lt;br /&gt;  &amp;lt;application-desc main-class="$mainClass"&amp;gt;&lt;br /&gt;    &amp;lt;argument&amp;gt;1&amp;lt;/argument&amp;gt;&lt;br /&gt;    &amp;lt;argument&amp;gt;2&amp;lt;/argument&amp;gt;&lt;br /&gt;  &amp;lt;/application-desc&amp;gt;&lt;br /&gt;&amp;lt;/jnlp&amp;gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Do pliku pom.xml dodajemy opis nowej wtyczki:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;      &amp;lt;plugin&amp;gt;&lt;br /&gt;        &amp;lt;groupId&amp;gt;org.codehaus.mojo&amp;lt;/groupId&amp;gt;&lt;br /&gt;        &amp;lt;artifactId&amp;gt;webstart-maven-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;        &amp;lt;executions&amp;gt;&lt;br /&gt;          &amp;lt;execution&amp;gt;&lt;br /&gt;            &amp;lt;goals&amp;gt;&lt;br /&gt;              &amp;lt;goal&amp;gt;jnlp&amp;lt;/goal&amp;gt;&lt;br /&gt;            &amp;lt;/goals&amp;gt;&lt;br /&gt;          &amp;lt;/execution&amp;gt;&lt;br /&gt;        &amp;lt;/executions&amp;gt;&lt;br /&gt;        &amp;lt;configuration&amp;gt;&lt;br /&gt;&lt;br /&gt;          &amp;lt;dependencies&amp;gt;&lt;br /&gt;            &amp;lt;excludes&amp;gt;&lt;br /&gt;              &amp;lt;exclude&amp;gt;commons-lang:commons-lang&amp;lt;/exclude&amp;gt;&lt;br /&gt;            &amp;lt;/excludes&amp;gt;&lt;br /&gt;          &amp;lt;/dependencies&amp;gt;&lt;br /&gt;&lt;br /&gt;          &amp;lt;jnlp&amp;gt;&lt;br /&gt;            &amp;lt;inputTemplate&amp;gt;src/main/jnlp/template.vm&amp;lt;/inputTemplate&amp;gt;&lt;br /&gt;            &amp;lt;outputFile&amp;gt;test.jnlp&amp;lt;/outputFile&amp;gt;&lt;br /&gt;            &amp;lt;mainClass&amp;gt;com._3e.TestWebStart.MainWindow&amp;lt;/mainClass&amp;gt;&lt;br /&gt;          &amp;lt;/jnlp&amp;gt;&lt;br /&gt;&lt;br /&gt;          &amp;lt;sign&amp;gt;&lt;br /&gt;            &amp;lt;keystore&amp;gt;${project.basedir}/keystore/naszklucz&amp;lt;/keystore&amp;gt;&lt;br /&gt;            &amp;lt;keypass&amp;gt;KODKLUCZA&amp;lt;/keypass&amp;gt;&lt;br /&gt;            &amp;lt;storepass&amp;gt;KODPRZECHOWANIA&amp;lt;/storepass&amp;gt;&lt;br /&gt;            &amp;lt;!--sigfile&amp;gt;m2m2m2&amp;lt;/sigfile--&amp;gt;&lt;br /&gt;            &amp;lt;alias&amp;gt;AliasPlikuKlucza &amp;lt;/alias&amp;gt;&lt;br /&gt;            &amp;lt;validity&amp;gt;180&amp;lt;/validity&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;dnameCn&amp;gt;www.example.com&amp;lt;/dnameCn&amp;gt;&lt;br /&gt;            &amp;lt;dnameOu&amp;gt;None&amp;lt;/dnameOu&amp;gt;&lt;br /&gt;            &amp;lt;dnameO&amp;gt;ExampleOrg&amp;lt;/dnameO&amp;gt;&lt;br /&gt;            &amp;lt;dnameL&amp;gt;Seattle&amp;lt;/dnameL&amp;gt;&lt;br /&gt;            &amp;lt;dnameSt&amp;gt;Washington&amp;lt;/dnameSt&amp;gt;&lt;br /&gt;            &amp;lt;dnameC&amp;gt;US&amp;lt;/dnameC&amp;gt;&lt;br /&gt;&lt;br /&gt;            &amp;lt;verify&amp;gt;true&amp;lt;/verify&amp;gt;&lt;br /&gt;          &amp;lt;/sign&amp;gt;&lt;br /&gt;&lt;br /&gt;          &amp;lt;verbose&amp;gt;false&amp;lt;/verbose&amp;gt;&lt;br /&gt;        &amp;lt;/configuration&amp;gt;&lt;br /&gt;      &amp;lt;/plugin&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Następnie uruchamiamy:&lt;br /&gt;&lt;pre&gt;mvn install webstart:jnlp &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Możliwe problemy:&lt;br /&gt;Wszystko się zbudowało bez błędu, ale podczas uruchamiania pojawia się błąd:&lt;br /&gt;&lt;b&gt;JAR resources in JNLP file are not signed by the same certificate&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Rozwiązanie:&lt;br /&gt;Prawdopodobnie któraś z załączanych bibliotek była wcześniej podpisana. Niestety w takiej sytuacji maven nie zgłasza błedu.&lt;br /&gt;Można jednak łatwo sprawdzić czy taka sytuacja nie miała miejsca analizując wyświetlane komunikaty podczas budowania - wtyczka webstart-maven-plugin wyświetli dla niej:&lt;br /&gt;XYZ.jar is already signed. Skipping.&lt;br /&gt;&lt;br /&gt;W takiej sytuacji musimy usunąć podpis z takiej biblioteki i ponownie zbudować projekt.&lt;br /&gt;&lt;br /&gt;Referencje:&lt;br /&gt;http://java.sun.com/docs/books/tutorial/jar/sign/signing.html&lt;br /&gt;http://forum.java.sun.com/thread.jspa?threadID=704775&amp;messageID=4086848&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-3747078918086631336?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/3747078918086631336/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=3747078918086631336' title='Komentarze (2)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/3747078918086631336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/3747078918086631336'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/04/przygotowanie-aplikacji-dystrybuowanej.html' title='Przygotowanie aplikacji dystrybuowanej poprzez Java Webstart'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-2434686963184557799</id><published>2008-01-29T13:44:00.000-08:00</published><updated>2008-01-29T13:45:26.996-08:00</updated><title type='text'>Czy warto wejść w jeszcze jeden nowy język: Groovy ?</title><content type='html'>Uważam, że Java jako platforma ma bardzo wiele do zaoferowania dla twórców systemów informatycznych. Java jako język również sprawdziła (i sprawdza się nadal) się w boju, jednak przyznać trzeba, że czasami brakuje pewnej elastyczności i zakodowanie prostej logiki często wymaga utworzenia wielu (zbyt wielu) linii kodu. Również większość popularnych frameworków dla Javy nakłada spory narzut związany z tworzeniem deskryptorów wdrożenia, tworzeniem pakietów dystrybucyjnych (jar, war, ear) czy częstym przeładowywaniem aplikacji w przypadku zmiany kodu. Narzut ten w przypadku większych systemów nie jest problemem, gdyż w zamian otrzymujemy konfigurowalne, stabilne, bezpieczne i rozwojowe środowisko, natomiast przy mniejszych modułach jest szczególnie mocno i negatywnie odczuwalny.  I tu pojawia się Groovy – skryptowy język dla platformy Java, bardzo podobny składnią do języka Java – rozszerzony jednak o kilka istotnych elementów takich :&lt;br /&gt;• zmienne z określonym lub nieokreślonym typem &lt;br /&gt;• pełnym autoboxing’iem&lt;br /&gt;• wsparciem dla tablic, list, map, stosów i innych struktur z poziomu języka – oczywiście z wykorzystaniem biblioteki kolekcji Javy (przy zunifikowaniu metod do ich obsługi np. każdy obiekt, który posiada jakąś formę listy posiada metodę size())&lt;br /&gt;• domknięcia (closures)&lt;br /&gt;• obsługę wieloliniowych stringów, wyrażeń regularnych, szablonów na poziomie stringów (jak w php)&lt;br /&gt;• rozszerzenie wielu często wykorzystywanych bibliotek Javy i dostosowanie ich do &lt;br /&gt;• strukturę „budowniczych” (builders) – do tworzenia struktur takich jak xml, html, formularzy swing i innych&lt;br /&gt;i wielu innych opcji.&lt;br /&gt;&lt;br /&gt;Wszystko razem sprawia wrażenie, jak gdyby język ten powstał w wyniku zebrania i rozwiązania wielu niewygodnych cech Javy, jednocześnie nie odchodząc od znanej i czytelnej składni (dla przykładu, nie ujmując mocy, Ruby to zupełnie inny język).&lt;br /&gt;&lt;br /&gt;Poniżej małe zestawienie.&lt;br /&gt;&lt;br /&gt;Problemy, które Groovy może pomóc rozwiązać:&lt;br /&gt;• duża ilość kodu do zakodowania prostej logiki&lt;br /&gt;• konieczność przeładowywania całej aplikacji w przypadku zmiany kodu&lt;br /&gt;• narzut związany ze stworzeniem wersji dystrybucyjnej &lt;br /&gt;• konieczność własnej obsługi (zakodowania) ewentualnych opcji konfiguracji&lt;br /&gt;&lt;br /&gt;Korzyści z zastosowania Groovy:&lt;br /&gt;• mniej kodu aby osiągnąć ten sam efekt w Javie&lt;br /&gt;o część z najczęściej przewijających się zadań programistycznych jest świetnie ułatwiona w Groovy (praca z SQL, xml, swing itp.).&lt;br /&gt;• pełna kompatybilność z Java &lt;br /&gt;• bardzo prosta integracja z systemami na platformie Java&lt;br /&gt;• minimalny wysiłek dla programisty pracującego z Javą aby korzystać z Groomy&lt;br /&gt;• możliwość uelatycznienia (dodania skryptowania) do dużych systemów w Javie&lt;br /&gt;• brak konieczności przeładowywania modułów stworzonych w Groovy&lt;br /&gt;&lt;br /&gt;Wady Groovy:&lt;br /&gt;• wydajność (ale z wersji na wersję jest coraz lepiej – czekamy na 1.6 która ma mieć znaczące ulepszenia w kwestii wydajności)&lt;br /&gt;&lt;br /&gt;Możliwości zastosowania:&lt;br /&gt;• dodanie możliwości oskryptowania istniejących systemów zbudowanych w Javie&lt;br /&gt;• tworzenie skryptów operujących na bazach danych, dokumentach xml, systemie plików&lt;br /&gt;• tworzenie często zmieniających elementów systemów &lt;br /&gt;• tworzenie prototypów aplikacji&lt;br /&gt;• generowanie zaawansowanych raportów&lt;br /&gt;• tworzenie aplikacji webowych (nie wspominam o Grails)&lt;br /&gt;• oraz nieskończenie wiele innych, jak w przypadku każdego innego języka programowania (z tym szczegółem, że możemy zaimportować do skryptu Groovy każdą bibliotekę skompilowaną w Javie)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-2434686963184557799?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/2434686963184557799/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=2434686963184557799' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/2434686963184557799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/2434686963184557799'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/01/czy-warto-wej-w-jeszcze-jeden-nowy-jzyk.html' title='Czy warto wejść w jeszcze jeden nowy język: Groovy ?'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-5762532143867674251</id><published>2008-01-23T13:09:00.000-08:00</published><updated>2008-01-23T13:30:53.821-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><title type='text'>tworzenie wersji dystrybucyjnej aplikacji w pliku jar</title><content type='html'>Gdy zachodzi potrzeba stworzenia wersji dystrybucyjnej modułu w postaci pliku jar wraz ze wszystkimi zależnościami (wykorzystywanymi bibliotekami jar) możemy posłużyć się maven2 i pluginem &lt;b&gt;maven-assembly-plugin&lt;/b&gt;. Dodatkowo można określić klasę uruchomienia która zostanie wskazana w pliku manifest.mf. &lt;br /&gt;&lt;br /&gt;W pliku pom.xml możemy umieścić:&lt;br /&gt;&amp;lt;plugin&amp;gt;&lt;br /&gt;        &amp;lt;artifactId&amp;gt;maven-assembly-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;        &amp;lt;configuration&amp;gt;&lt;br /&gt;          &amp;lt;descriptorRefs&amp;gt;&lt;br /&gt;            &amp;lt;descriptorRef&amp;gt;jar-with-dependencies&amp;lt;/descriptorRef&amp;gt;&lt;br /&gt;          &amp;lt;/descriptorRefs&amp;gt;&lt;br /&gt;   &amp;lt;archive&amp;gt;&lt;br /&gt;            &amp;lt;manifest&amp;gt;&lt;br /&gt;              &amp;lt;mainClass&amp;gt;com._3e.projekt.MainClass&amp;lt;/mainClass&amp;gt;&lt;br /&gt;            &amp;lt;/manifest&amp;gt;&lt;br /&gt;          &amp;lt;/archive&amp;gt;&lt;br /&gt;        &amp;lt;/configuration&amp;gt;&lt;br /&gt;&amp;lt;/plugin&amp;gt;&lt;br /&gt;Aby zbudować pakiet z zależnościami należy uruchomić mavena z celem &lt;b&gt;assembly:assembly&lt;/b&gt;:&lt;br /&gt;Mvn assembly:assembly&lt;br /&gt;&lt;br /&gt;Więcej o tym pluginie na stronie: &lt;a href="http://maven.apache.org/plugins/maven-assembly-plugin/howto.html"&gt;http://maven.apache.org/plugins/maven-assembly-plugin/howto.html&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-5762532143867674251?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/5762532143867674251/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=5762532143867674251' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5762532143867674251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5762532143867674251'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/01/tworzenie-wersji-dystrybucyjnej.html' title='tworzenie wersji dystrybucyjnej aplikacji w pliku jar'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-654022404809416096</id><published>2008-01-23T11:40:00.000-08:00</published><updated>2008-01-23T13:00:55.760-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven2'/><title type='text'>korzyści ze stosowania ciągłej integracji</title><content type='html'>Postanowiłem opisać kilka korzyści jakie daje wdrożenie i stosowanie techniki ciągłej integracji:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; integrowanie pracy wszystkich developerow na bieżąco od momentu rozpoczęcia projektu&lt;br /&gt;- dzięki temu unikamy sytuacji gdy dwie lub więcej osób tworzy nie pasujące do siebie moduły i później trzeba poświecić wiele czasu na dodatkową integrację&lt;br /&gt;&lt;li&gt; pewność, ze proces budowania projektu jest w pełni automatyczny i niezależny od srodowiska developerów&lt;br /&gt;&lt;li&gt; pełna kontrola nad zależnościami (np. wymaganymi bibliotekami) dla modułów w projekcie &lt;br /&gt;&lt;li&gt; wyłapywanie problemów na styku modułów na wczesnym etapie prac&lt;br /&gt;&lt;li&gt; informacja dla kierownika projektu o tym, że skomitowana wersja jakiegoś modułu nie kompiluje się &lt;br /&gt;&lt;li&gt; możliwość wglądu w wyniki automatycznych testów i automatycznych raportów dla wszystkich członków projektu bez konieczności ich uruchamiania&lt;br /&gt;&lt;li&gt; możliwość wykonania dodatkowych operacji na artefaktach wygenerowanych podczas budowania systemu &lt;br /&gt; - np. wgrania najnowszej wersji dystrybucyjnej modułu na serwer ftp, z którego testerzy mogą zawsze ściągnąć najnowsze wersje&lt;br /&gt;&lt;li&gt; pewność że nie będzie problemów ze zbudowaniem całego projektu u nowego developera lub w innym środowisku&lt;br /&gt;&lt;li&gt; możliwość wykonywania dodatkowych testów integracyjnych w osobnym środowisku (nie u developerów) &lt;br /&gt;&lt;li&gt; możliwość odciążenia maszyn developerów poprzez budowanie i umieszczanie w repozytorium artefaktów tworzonych przez innych developerów&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-654022404809416096?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/654022404809416096/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=654022404809416096' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/654022404809416096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/654022404809416096'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2008/01/korzyci-ze-stosowania-cigej-integracji.html' title='korzyści ze stosowania ciągłej integracji'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-3601450414797450659</id><published>2007-12-18T01:52:00.000-08:00</published><updated>2007-12-18T03:08:03.267-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>jak przeładować aplikację w jboss</title><content type='html'>Aby przeładować całą aplikację w Jboss bez restartowania serwera tak aby cały kontekst aplikacji został ponownie wczytany można wykorzystać konsolę JMX:&lt;br /&gt;http://localhost:8080/jmx-console/&lt;br /&gt;i wybrać z listy wskazanie MBean'a naszej aplikacji jako WebModule np.: &lt;br /&gt;&lt;br /&gt;J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/moja_aplikacja&lt;br /&gt;&lt;br /&gt;przechodzimy na stronę MBean i wywołujemy jego metodę:&lt;br /&gt;void reload() za pomocą przycisku Invoke.&lt;br /&gt;&lt;br /&gt;Taka akcja spowoduje ponowne załadowanie całej aplikacji łącznie z ponownym wczytaniem wszystkich bibliotek jar (i plików class).&lt;br /&gt;W przypadku gdy zmienia się tylko konfiguracja aplikacji - wystarczy edytować i zapisać plik web.xml.&lt;br /&gt;&lt;br /&gt;Na stronie: &lt;a href="http://www.theserverside.com/discussions/thread.tss?thread_id=40272"&gt;http://www.theserverside.com/discussions/thread.tss?thread_id=40272&lt;/a&gt; jest informacja jak zautomatyzować przeładowanie aplikacji z wykorzystaniem narzędzia ant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-3601450414797450659?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/3601450414797450659/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=3601450414797450659' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/3601450414797450659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/3601450414797450659'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2007/12/jak-przeadowa-aplikacj-w-jboss.html' title='jak przeładować aplikację w jboss'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-3833718587864715</id><published>2007-12-05T14:02:00.000-08:00</published><updated>2007-12-18T02:02:46.244-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss'/><title type='text'>kopiowanie plików wynikowych jar, war, ear z maven</title><content type='html'>Jakiś czas temu wdrożyliśmy w firmie system ciągłej intergracji Continuum. Jedym z projektów obsługiwanych przez system był web service, który pracuje wewnątrz serwera aplikacji.  Jako że moduł ten od początku był budowany z wykorzystaniem maven2 nie było problemu z podpięciem go do Continuum, natomiast brakowało nam jednego: aby po zbudowaniu systemu maven skopiował pakiet ear do serwera aplikacji (wdrożył go).&lt;br /&gt;Zrobiliśmy to z wykorzystaniem pluginu &lt;span style="font-weight: bold;"&gt;antrun&lt;/span&gt; wykonującym operację systemu ant (tutaj operację copy):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;plugins&amp;gt;&lt;br /&gt;...&lt;br /&gt;   &amp;lt;plugin&amp;gt;&lt;br /&gt;      &amp;lt;artifactid&amp;gt;maven-antrun-plugin&amp;lt;/artifactid&amp;gt;&lt;br /&gt;      &amp;lt;executions&amp;gt;&lt;br /&gt;        &amp;lt;execution&amp;gt;&lt;br /&gt;       &amp;lt;phase&amp;gt;install&amp;lt;/phase&amp;gt;&lt;br /&gt;       &amp;lt;configuration&amp;gt;&lt;br /&gt;        &amp;lt;tasks&amp;gt;&lt;br /&gt;        &amp;lt;copy todir="c:/GCMP/jboss/server/gcmp/deploy"&amp;gt;&lt;br /&gt;            &amp;lt;fileset dir="${basedir}/target"&amp;gt;&lt;br /&gt;             &amp;lt;include name="**/*.ear"&amp;gt;&lt;br /&gt;          &amp;lt;/fileset&amp;gt;&lt;br /&gt;        &amp;lt;/copy&amp;gt;&lt;br /&gt;        &amp;lt;/tasks&amp;gt;&lt;br /&gt;       &amp;lt;/configuration&amp;gt;&lt;br /&gt;       &amp;lt;goals&amp;gt;&lt;br /&gt;         &amp;lt;goal&amp;gt;run&amp;lt;/goal&amp;gt;&lt;br /&gt;       &amp;lt;/goals&amp;gt;&lt;br /&gt;     &amp;lt;/execution&amp;gt;&lt;br /&gt;      &amp;lt;/executions&amp;gt;&lt;br /&gt;     &amp;lt;/plugin&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/plugins&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;plugin ten jest uruchamiany w fazie install, ale można w zależności od potrzeb wykonywać go w innych fazach obsługi projektu maven.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-3833718587864715?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/3833718587864715/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=3833718587864715' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/3833718587864715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/3833718587864715'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2007/12/kopiowanie-plikw-wynikowych-jar-war-ear.html' title='kopiowanie plików wynikowych jar, war, ear z maven'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-5639810264952808400</id><published>2007-11-25T10:20:00.000-08:00</published><updated>2007-11-25T11:06:53.446-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='książka'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>książka o maven2</title><content type='html'>Odnalazłem naprawdę solidne źródło wiedzy o Maven2, książkę "Better Builds with Maven" dostępną pod adresem &lt;a href="http://www.devzuz.com/web/guest/products/resources#BBWM"&gt;http://www.devzuz.com/web/guest/products/resources#BBWM&lt;/a&gt;&lt;br /&gt;w formie pliku PDF.&lt;br /&gt;Polecam ją gdyż poza wprowadzeniem i podstawami zawiera naprawdę sporo praktycznych rad m.in. dotyczących aspektów pracy w zespole oraz konfiguracji rozwiązania typu ciągłej integracji (continuous integration).&lt;br /&gt;&lt;br /&gt;Przykładowo znalazłem w niej opis konfiguracji zależności dla projektu od modułu w takcie developmentu (w wersji ze znacznikiem SNAPSHOT), w taki sposób aby co określony w minutach czas następowało sprawdzenie czy wersja wymaganego artefaktu w repozytorium nie zmieniła się i w razie potrzeby nastąpiła jego aktualizacja w lokalnym repozytorium (standardowo dzieje się to raz na dobę).&lt;br /&gt;&lt;br /&gt;Postaram się umieszczać na tym blogu więcej informacji o tym arcyzacnym systemie wspierającym budowanie (i nie tylko) projektów jakim jest Maven.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-5639810264952808400?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/5639810264952808400/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=5639810264952808400' title='Komentarze (1)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5639810264952808400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5639810264952808400'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2007/11/ksika-o-maven2.html' title='książka o maven2'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1720876692556098372.post-5037949084746016063</id><published>2007-11-25T09:15:00.000-08:00</published><updated>2007-11-26T05:20:57.052-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='swing'/><title type='text'>problemy z odswieżaniem aplikacji Swing pod Windows XP przy niestandardowym ustawieniu DPI</title><content type='html'>Jakiś czas temu napotkałem na problem odrysowywania fragmentów okna w aplikacjach stworzonych w Javie z wykorzystaniem biblioteki Swing.&lt;br /&gt;Problem występował na Windows XP przy ustawionym niestandardowym DPI ekranu (u mnie było 120 DPI) i objawiał się np. przy przewijaniu tabelek w aplikacjach javowych lub przy przełączaniu na okno (wtedy obraz pod myszą źle się odświeża):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EVQfdZ1zFDQ/R0qEx79RriI/AAAAAAAAARM/tkMqVkxWftQ/s1600-h/swing_dpi_problem2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_EVQfdZ1zFDQ/R0qEx79RriI/AAAAAAAAARM/tkMqVkxWftQ/s320/swing_dpi_problem2.jpg" alt="" id="BLOGGER_PHOTO_ID_5137064318412631586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Po długich poszukiwaniach udało mi się ogólnie zlokalizować przyczynę i znaleźć przynajmniej częściowe rozwiązanie - przełącznik maszyny wirtualnej:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-Dsun.java2d.opengl=true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;w efekcie renderowanie komponentów Swinga odbywa się nie przez DirectX tylko przez Open GL.&lt;br /&gt;Pewnie istnieje inne rozwiązanie tego problemu, jeśli ktoś na to wpadł - niech da znać !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1720876692556098372-5037949084746016063?l=lukaszkolczynski.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lukaszkolczynski.blogspot.com/feeds/5037949084746016063/comments/default' title='Komentarze do posta'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1720876692556098372&amp;postID=5037949084746016063' title='Komentarze (0)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5037949084746016063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1720876692556098372/posts/default/5037949084746016063'/><link rel='alternate' type='text/html' href='http://lukaszkolczynski.blogspot.com/2007/11/problemy-z-odswieaniem-aplikacji-swing.html' title='problemy z odswieżaniem aplikacji Swing pod Windows XP przy niestandardowym ustawieniu DPI'/><author><name>Łukasz Kolczyński</name><uri>http://www.blogger.com/profile/15344040484375079347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EVQfdZ1zFDQ/R0qEx79RriI/AAAAAAAAARM/tkMqVkxWftQ/s72-c/swing_dpi_problem2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
