Child pages
  • Fejlesztokornyezet
Skip to end of metadata
Go to start of metadata

2.1. Fejlesztőkörnyezet

Egy kényelmes fejlesztőkörnyezet kialakítása lényeges pontja egy fejlesztésnek, a JavaForum2.0 projekt az alábbi eszközökkel fejleszthető kényelmesen.

2.1.1. A projekt szerkezete

A portál kódja Maven konvenciók mentén van szervezve, így az alábbi projekt struktúrát látni az SVN repóban:

2.1.2. A build folyamata

A fejlesztéshez minimálisan szükséges egy Maven2, egy Subversion kliens és egy OpenJDK 6 (ez utóbbi helyett bármilyen OpenJDK6 kompatibilis JDK megfelel). A JavaForum2.0 tartalmát le kell töltenünk egy kiválasztott könyvtárba:

Parancssor
authgabor@laptop:~> svn co https://svn.javaforum.hu/svn/javaforum20/trunk/
A    trunk/JavaForum2.0-design-1000birka
A    trunk/JavaForum2.0-design-1000birka/src
A    trunk/JavaForum2.0-design-1000birka/src/test
A    trunk/JavaForum2.0-design-1000birka/src/test/java
A    trunk/JavaForum2.0-design-1000birka/src/test/resources
[...]
A    trunk/JavaForum2.0-design-cash/src/main/webapp/layout/footer/menu/help.jsp
A    trunk/JavaForum2.0-design-cash/src/main/webapp/layout/footer/menu/view.jsp
A    trunk/JavaForum2.0-design-cash/src/main/webapp/layout/footer/portlet.jsp
A    trunk/JavaForum2.0-design-cash/pom.xml
 U   trunk

A sikeres lefutás után a home könyvtárunkban a trunk alkönyvtárban létrejön az előző fejezetben részletezett struktúra. Ennek a fordításához szükséges a Maven2 és az OpenJDK6. Első lépésként fel kell vennünk az OpenJDK telepítés helyét a környezeti változók közé, mivel a Maven2 ezt keresni fogja (Windows rendszeren ezt a "Rendszer" ablakban tudjuk megtenni):

Parancssor
authgabor@laptop:~> export JAVA_HOME=/opt/openjdk6/

Ezek után futtatni kell a Maven2 programot, amelynek kettő paramétert kell átadnunk:

Parancssor
authgabor@laptop:~> cd trunk/JavaForum2.0
authgabor@laptop:~/trunk/JavaForum2.0> /opt/maven2.1.0/bin/mvn clean install
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO]   JavaForum2.0
[INFO]   JavaForum2.0-commons
[INFO]   JavaForum2.0-interfaces-remote
[INFO]   JavaForum2.0-deploy
[INFO]   JavaForum2.0-deploy-tld
[INFO]   JavaForum2.0-ejb-commons
[INFO]   JavaForum2.0-entities
[INFO]   JavaForum2.0-ejb-pu
[INFO]   JavaForum2.0-interfaces-dao
[INFO]   JavaForum2.0-ejb-dao
[INFO]   JavaForum2.0-interfaces-bf
[INFO]   JavaForum2.0-ejb-bf
[INFO]   JavaForum2.0-ejb-remote
[INFO]   JavaForum2.0-jmx
[INFO]   JavaForum2.0-pages
[INFO]   JavaForum2.0-portlets-cms
[INFO]   JavaForum2.0-portal-tld
[INFO]   JavaForum2.0-war
[INFO]   JavaForum2.0-ear
[INFO] ------------------------------------------------------------------------
[INFO] Building JavaForum2.0
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] [site:attach-descriptor]
[INFO] Preparing source:jar
[...]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] JavaForum2.0 .......................................... SUCCESS [4.940s]
[INFO] JavaForum2.0-commons .................................. SUCCESS [8.237s]
[INFO] JavaForum2.0-interfaces-remote ........................ SUCCESS [1.672s]
[INFO] JavaForum2.0-deploy ................................... SUCCESS [7.730s]
[INFO] JavaForum2.0-deploy-tld ............................... SUCCESS [2.061s]
[INFO] JavaForum2.0-ejb-commons .............................. SUCCESS [2.495s]
[INFO] JavaForum2.0-entities ................................. SUCCESS [10.081s]
[INFO] JavaForum2.0-ejb-pu ................................... SUCCESS [1.021s]
[INFO] JavaForum2.0-interfaces-dao ........................... SUCCESS [3.923s]
[INFO] JavaForum2.0-ejb-dao .................................. SUCCESS [11.216s]
[INFO] JavaForum2.0-interfaces-bf ............................ SUCCESS [3.682s]
[INFO] JavaForum2.0-ejb-bf ................................... SUCCESS [18.460s]
[INFO] JavaForum2.0-ejb-remote ............................... SUCCESS [3.098s]
[INFO] JavaForum2.0-jmx ...................................... SUCCESS [0.511s]
[INFO] JavaForum2.0-pages .................................... SUCCESS [3.502s]
[INFO] JavaForum2.0-portlets-cms ............................. SUCCESS [8.056s]
[INFO] JavaForum2.0-portal-tld ............................... SUCCESS [2.505s]
[INFO] JavaForum2.0-war ...................................... SUCCESS [25.809s]
[INFO] JavaForum2.0-ear ...................................... SUCCESS [4.511s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 4 seconds
[INFO] Finished at: Sat Oct 17 13:05:49 CEST 2009
[INFO] Final Memory: 81M/140M
[INFO] ------------------------------------------------------------------------

A fordítás eredményeképp létre kell jönnie a megfelelő helyen a telepíthető EAR fájlnak:

Parancssor
authgabor@laptop:~/trunk/JavaForum2.0> ls -l JavaForum2.0-ear/target/*.ear
-rw-r--r-- 1 authgabor users 8336325 okt 17 13.05 JavaForum2.0-ear/target/JavaForum2.0-ear-b2.2.0-SNAPSHOT.ear

Az EAR fájl verziószáma változhat, mindig tükrözi a fejlesztés aktuális állapotát, hiszen a /trunk mindig a kiadás előtti állapotot tükrözi, amelynek önállóan működnie kell. Ez az EAR maga a portál, elsőként ezt kell telepítenünk az alkalmazás szerverbe. A portál csak az adminisztrációs felület design elemeit tartalmazza, az egyéb - lazábban csatolt - design csomagok a trunk/JavaForum2.0-design-* könyvtárakban találhatók meg, és szintén Maven2 segítségével fordíthatóak le:

Parancssor
authgabor@laptop:~/trunk/JavaForum2.0> cd ../JavaForum2.0-design-cash/
authgabor@laptop:~/trunk/JavaForum2.0-design-cash> /opt/maven2.1.0/bin/mvn clean install
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building JavaForum2.0-design-cash
[INFO]    task-segment: [clean, install]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] [resources:resources]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[...]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11 seconds
[INFO] Finished at: Sat Oct 17 13:13:27 CEST 2009
[INFO] Final Memory: 23M/79M
[INFO] ------------------------------------------------------------------------

Az összes design projekt előáll, mint WAR csomag:

Parancssor
authgabor@laptop:~/trunk/JavaForum2.0> ls -l target/*.war
-rw-r--r-- 1 authgabor users 744218 okt 17 13.13 target/JavaForum2.0-design-cash-b2.2.0-SNAPSHOT.war

A projekt verziószáma szintén változhat a fejlesztés üteme szerint.

2.1.3. NetBeans, Eclipse vagy egyéb IDE

A fejlesztést nagyban megkönnyíti egy IDE használata, amely lehet bármilyen IDE, amelyik képes a Maven2 projektek megnyitására (és a Subversion kezelésére). NetBeans esetén a 6.5 óta alapból támogatott a Maven2 projekt és a Subversion, Eclipse esetén mind Maven2, mind a Subversion kezeléséhez szükséges hozzá egy-egy plugin. Egyéb IDE esetén is többnyire rendelkezésre áll a Subversion és a Maven2 támogatás.



<<Vissza


      
      
Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels