Pouzivam http://m2eclipse.sonatype.org/ a Eclipse JEE (s WTP). Udelam si POM kde ja packaging WAR. V Eclipse dam Import Maven Project. Projekt spustim kliknutim pravym tlacitkem na projekt Run As >> Run On Server. Mezi servery mam nakonfigurovany Tomcat bez jakehokoliv zasahu.
Kdykoliv kdy udelam save nejake, tak Eclipse automaticky zajisti, ze Tomcat reloadne WAR. 2010/3/4 Tomáš Záluský <[email protected]>: > > 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 > ================================================ > -- S pozdravem Roman "Dagi" Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */
