Zdravím konferenci, začali jsme nový projekt na Mavenu a narazil jsem na následující komplikaci v porovnání s dosavadním řízením pomocí Antu. Používáme Maven 2, Eclipse a Tomcat s pluginy Sysdeo a m2eclipse.
U antovských projektů jsme měli v kořenovém adresáři projektu adresář /web/WEB-INF/classes, který byl nastaven jako Default output folder na Java Build Path v Eclipse. Protože obsah adresáře /web měl strukturu waru (jako by šlo o rozbalený war), byl na něj pro vývoj namířen i atribut docBase v context.xml Tomcatu, takže při změnách tříd za běhu se redeploynula aplikace (myslím pouze změny v implementaci, ne strukturální). Po přechodu na Maven + m2eclipse plugin zjišťuji, že Default output folder je nyní /target/classes, předpokládám, že tento adresář je určen nastavením build/outputDirectory v pomu. Při buildování waru (spuštění fáze package na projektu s packagingem war) se nejprve vytvoří struktura waru v adresáři /target/nazevprojektu a tento adresář se pak zabalí do souboru /target/nazevprojektu.war. Classy jsou do waru zkopírovány z /target/classes. Nemohu už tedy /target/classes využít pro docBase, protože již nejsou součástí WEB-INF. A pokud namířím docBase na /target/nazevprojektu, pak zas není editace tříd za běhu tak pohodlná jako dřív - změny se sice pronesou do běžící aplikace, ale už ne z target/classes do target/nazevprojektu/WEB-INF/classes, takže mezi restarty Tomcatu se musí myslet na spuštění fáze package. Protože momentálně považuji za příčinu problému zdvojení adresáře s třídami, opravil jsem v pomu build/outputDirectory a v Eclipse projektu Default output folder na /target/nazevprojektu/WEB-INF/classes. Tím pádem Eclipse kompiluje vše zas do stejného adresáře, do jakého je nasměrován Tomcat a Maven při tvorbě waru má o jedno kopírování míň. Funguje to, přesto bych poprosil o názor někoho zkušenějšího v Mavenu, případně zda je zvykem to řešit jinak a jak. Děkuji za každou odpověď. Tomáš Záluský ================================================ ...with Ultimate flying is so easy... http://www.frisbee.cz http://www.peaceegg.net ================================================
