Poster taggade med ‘jar’

Sida 3 av 512345

Tänkte bara tipsa om ett litet verktyg, jarjar. Det är inget nytt verktyg, utan har funnits sedan 2004, men jag har precis upptäckt det.

Man har en tendens till att få en massa beroenden till olika jar-filer när man bygger sina applikationer. När man sedan skall paketerar och distribuera applikationen så måste man lägga till alla externa jar-filer som man har beroenden till och även referera till dem i sin manifest-fil. Detta är lite bökigt enligt min åsikt, men det är där jarjar kommer in. Jarjar är ett verktyg som paketerar om alla jar-filer som man har beroende till och lägger till dem i din egna jar-fil. Det kommer med en ant-task som man använder istället för ant‘s vanliga jar-task. För mer info läs här. Jarjar har en given plats i min verktygslåda iaf…

Hittade en annan trevlig sökfunktion som löser problematiken att lokalisera vilken jar-fil som saknas när applikationen kastar java.lang.NoClassDefFoundError eller java.lang.ClassNotFoundException. Typiskt är det något bibliotek som du har beroende till endast under runtime.  Saknar du som jag MIMEContentImpl för att exekvera dina testfall kan man lokalisera detta genom att använda JarSearch och fylla i klassnamn (eller paket) och söka.

Tipsade för ganska länge sen om Eclipse-pluginen JadClipse som med jad dekompilerar en .class fil i det fall det inte finns någon källkod kopplad. Med Maven och m2eclipse så får man ofta med sig källkoden, men det finns vissa bibliotek där det kan saknas. Inget mer Attach source…

Maven 2 och Eclipse är två av de mest använda verktygen för javautveckling på marknaden idag. Maven 2 används för att automatisera byggen, assembly och deployment, rapportgenerering medan Eclipse främst används som IDE.

Integration mellan dessa två produkter har inte alltid varit smärtfri men nu finns (minst) två integrationssätt som verkar lovande, M2Eclipse och Buckminster.

Läs mer >>

Att konfigurera upp rapporter för en modul i ett Maven 2-bygge är enkelt, man specificerar helt enkelt vilka rapporter som ska genereras i sin POM under report-taggen. Om ett projekt består av flera moduler (ett så kallat multimodule-project) vill man typiskt aggregera ihop rapporterna från de olika sub-modulerna, exempelvis en aggregerad vy över de JUnit-tester som körts. Detta stöd fanns för Maven 1.x via rapportpluginen Dashboard. Nu finns en någorlunda stabil version av denna plugin även för Maven 2.

Dashboard aggregerar följande rapporter:

Några övriga rapporter som kan vara intressanta:

  • JavaDoc – API-dokumentation
  • JXR – Källkoden i HTML-format (flera av rapporterna länkar till denna källkod)
  • JavaNCSS – Source code metrics
  • TagList – Listar TODO:s etc
  • FindBugs – Hittar potentiella buggar i din javakod
  • Changes – Skapar en lista över de förändringar som är gjorda baserad på det Issue Management system som används (ex JIRA)
  • ChangeLog – Skapar en change-log baserat på incheckningar i SCM

Kolla även in vilka rapporter och plugins som finns tillgängliga på Apache, SourceForge och Mojo.

Exempel
Nedanstående exempel visar hur några av de ovan nämnda rapporterna kan konfigureras in för ett multimodule projekt.
Läs mer >>

Stripes är ett händelsebaserat webbramverk för Java som stävar efter att det skall vara så enkelt som möjligt att skapa en webbapplikation i Java. För en bra beskrivning av Stripes, varför Stripes skapades och målet med Stripes samt alla nyckelfunktioner kan ni läsa om på deras hemsida.
Varför blev då jag sugen på att testa Stripes? Förutom att jag är allmänt intresserad och nyfiken, så läste jag följande text på deras hemsida:

Stripes aims to provide an experience similar to owning Apple hardware, Sony TVs and luxury German cars (without the price premium); things just work, they feel right and every now and again you get that ”oh, it does that too? awesome!” feeling

Vem blir inte sugen då? =)

 

I denna introduktion tänkte jag skapa en klassisk webbapplikation, ”Guess Number” och gå igenom koden steg för steg. Det enda kravet för att man skall kunna använda Stripes är att man använder Java5 eller senare och använder en webcontainer som stöder Servlet 2.4/JSP 2.0 eller senare.

Läs mer >>

Eclipse Foundation har idag släppt ”Eclipse Europa”! Spännande värre!

För knappt ett år sedan (30:e juni 2006) släpptes Eclipse Callisto, vilket var projektets första satsning att koordinera flera av Eclipse olika underprojekt till en samtida release. Tio underprojekt till Eclipse släpptes samtidigt, och garanterades att vara helt kompatibla med varandra. Satsningen var uppenbarligen framgångsrik, och nu kommer alltså uppföljaren ”Europa”, men den här gången är det hela tjugoen Eclipse-projekt som släpps i en koordinerad release, och förhoppningsvis med full kompabilitet sinsemellan! Det är stort!

Själv är jag, förutom basplattformen naturligtvis, mest intresserad av att uppgradera till WTP 2.0 och AJDT 1.5, men jag tror att jag ska ta chansen att ladda ner hela monsterpaketet! Varför inte…? :-)

Använder ert projekt Apache Ant? Då är det rätt troligt att följande stämmer in:

  • Ant-scripten är långa, komplexa, svåröverskådliga och svårförvaltade.
  • Det finns mycket copy/paste kod i Ant-scripten.
  • Ni checkar in era externa jar-filer i ert SCM (vilket medför att det tar lång tid att synka ut kodbasen och det är svårt att hålla reda på vilka versioner av vilken jar-fil som används eftersom namnstandarden på externa jar-filer varierar kraftigt).
  • Ant-scripten kopierar väldigt mycket jar-filer under assembly och deploy.

Som en lösning på detta finns Maven som tar bort det mesta av den komplexitet som typiskt finns i ett Ant-script genom att kapsla in de vanligaste funktionerna som krävs vid bygge och assembly/deploy. Det som Maven dock är allra bäst på är Dependency Management d.v.s. att hantera beroenden mellan olika projekt och moduler (interna och externa).

Det kan dock vara svårt att övergå från Ant till Maven om de Ant-script som finns i en organisation innehåller mycket logik eller om förutsättningarna för en sådan förändring inte är de rätta. Då kan ett steg i rätt riktning vara att använda Mavens Ant-tasks som ”magiskt” kan hantera Dependency Management à la Maven fast i ett Ant-script. Ta en titt på http://maven.apache.org/ant-tasks.html för mer information.

Ny kund: Aftonbladet TV7

  • 13 december 2006
  • Kommentering avstängd

Aftonbladet är en av Sveriges ledande mediekoncerner, vars publicistiska idé är att leverera nyheter, driva opinion och ge service – 24 timmar om dygnet. Aftonbladet använder flera olika nyhetskanaler och når varje vecka cirka 3,8 miljoner människor.

Aftonbladetkoncernen står publicistiskt på fyra ben – Nordens största och mest lästa tidning, Europas största nättidning, den nyligen startade gratistidningen Punkt SE samt den digitala TV-kanalen Aftonbladet TV7.

Cygni har tidigare genomfört uppdrag inom Aftonbladet Nya Medier som ansvarar för www.aftonbladet.se men påbörjar i december även utvecklingen av ett system som skall användas på Aftonbladet TV7.

Det nya uppdraget är ytterligare ett bevis på att Cygnis expertis inom systemarkitektur och avancerad systemutveckling lämpar sig väl vid utveckling av system för en ledande mediekoncern som Aftonbladet.

Denna artikel behandlar hur man kan kombinera traditionell J2EE-utveckling (applikationsserver med Stateless Session Beans och liknande) med Spring Framework och samtidigt erhålla en kort Code-Build-Test-cykel, hur man får det bästa av två världar. Läs mer >>

Nyligen släpptes Eclipse 3.2 Milestone 4 (med en massa nyheter, som vanligt). Jag har faktiskt halkat efter lite med Eclipse-releaserna, och ”nöjt mig” med Eclipse 3.1.1 den senaste tiden.


Men nu är det nog dags att komma ikapp igen. Releaserna i M1-M4 innehåller en hel del bra saker som var för sig knappast är skäl nog att uppgradera, men sammantaget känns det som att det börjar bli värt det. En liten kul grej i senaste releasen är stöd för CamelCase i code completion. Det låter kanske lite konstigt, men jag kan direkt känna att det är en funktion jag skulle använda mig av.

Sida 3 av 512345