GWT + Maven + Eclipse

ΠΠ°ΠΊ ΠΏΠΎΠ΄ΡΡΠΆΠΈΡΡ gwt-ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°Π²Π΅Π½ΠΎΠΌ, Ρ ΡΠΊΠ»ΠΈΠΏΡΠΎΠΌ?
ΠΠΎΡΡΠ°ΡΠΈΠ» ΡΠ°ΡΠ° ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ.
ΠΡΠ³Π» Π² ΡΠ²ΠΎΠ΅ΠΌ Π³Π΅ΡΡΠΈΠ½Π³ ΡΡΠ°ΡΡΠ΅Π΄ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΊΠ°ΡΠ°ΡΡ gwt jdk ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠΈΠ»ΠΈΡΡ webAppCreator. ΠΠ½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ΅Π½ ΠΌΠ°Π²Π΅Π½ ΠΈ ΡΠΊΠ»ΠΈΠΏΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΊΠΎΠΏΠ°ΡΡ Π² ΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ.
ΠΠ»Ρ ΡΠΊΠ»ΠΈΠΏΡΠ° Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» ΠΏΠ»Π°Π³ΠΈΠ½Ρ http://code.google.com/eclipse/docs/download.html.
m2Eclipse Ρ ΠΌΠ΅Π½Ρ ΡΠΆΠ΅ Π±ΡΠ». ΠΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΎΠ΅Ρ Π°Π»ΠΈ.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π²Π΅Π½ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½Π° maven-gwt-plugin. ΠΠ°ΡΠ°ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, Π»ΠΈΡΡ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π³Π΄Π΅ ΠΡ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
-DgroupId=<ΠΈΠΌΡ java - ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°>
-DartifactId=<ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΊΠ°ΠΊ ΠΌΠ°Π²Π΅Π½-Π°ΡΡΠΈΡΠ°ΠΊΡΠ°>
ΠΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Π΅Π½ΡΠ΅ΡΠ°, ΠΌΠ°Π²Π΅Π½ ΡΡΡΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π»ΠΈΠ±Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΌΠΏΠΎΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² eclipse - Π΄Π΅Π»ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° m2eclipse. ΠΠ½ ΠΏΠΎΠ΄ΡΡΠ½Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡ.
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡ "ΠΊΡΠ°ΡΠ½ΡΠΉ" ( Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ), ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ maven -> Update project configuration.
Π¨Π°Π³ΠΈ Π²ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΄Π»Ρ Π½Π°Ρ ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ. Π’ΠΎ Π΅ΡΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΡΡΠΏΠ°ΡΡ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΡ Π·Π½Π°Π΅ΠΌ, gwt ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ java ΠΊΠΎΠ΄ Π² javascript. ΠΠΈΡΠ½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΠ½Π΄ 10. Π’ΠΎ Π΅ΡΡΡ, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π°ΡΡΠ°ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ΄. ΠΠΎ! ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² development mode, Π° Π² ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° Π»Π΅ΡΡ. ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ f5 Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² development mode, Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° - mvn gwt:run.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Launch Default Browser, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π²Π°Ρ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΠΎΠΉ welcome-ΡΡΡΠ°Π½ΠΈΡΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΏΡΠΎΡΠΈΡ Π²Π²Π΅ΡΡΠΈ Π²Π°ΡΠ΅ ΠΈΠΌΡ.
ΠΠ΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ Ρ Π²Π°ΡΠΈΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ° ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ GWT ΠΈ Π΅Π³ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌΠΈ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠΊΡΠ΅ΡΡΠΈΡΡ spring mvc ΠΈ gwt.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
Π‘ΡΠ°Π·Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² ΡΠΊΠ»ΠΈΠΏΡΠ΅ ΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Ρ5 Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ. ΠΡΡΡΠΎ. ΠΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ ΡΠΎΠΌΠΊΠ°ΡΠΎΠΌ.
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΡΡ
- ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Maven
- ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡΡ Ρ SVN ΠΈΠ· Eclipse + Subclipse (SVN) ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ ΠΏΠΎΠ·Π°Π΄ΠΈ ΠΏΡΠΎΠΊΡΠΈ
- Eclipse - PermGen : OutOfMemory exception
- ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ SpringSource Tool Suite.
- ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ GWT
- Π£ΡΠΈΠΌ SpringSource Tool Suite (STS) ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Grails.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° proxy Π² Eclipse IDE.
- Π Π°ΡΠΊΡΠ°ΡΠΊΠ° IDE Eclipse.
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Eclipse Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Spring IDE + Hello World Spring Application







ΡΠ°ΠΊ Π²ΡΠΎΠ΄Π΅ ΠΆ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ, Π° Π²ΡΠ΅ ΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ Π²Π΅ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ ΠΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΌΠ°Π²Π΅Π½ΠΎΠΌ + Ρ Π²Π°Ρ Π² ΡΠΊΠ»ΠΈΠΏΡΠ΅ ΡΡΠΎΠΈΡ m2eclipse plugin, ΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² target/your_project_name_version/.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄Ρ Π²Π°ΡΠ΅Π½Ρ. ( ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ mvn gwt:run).
Π’ΡΠ°Π½ΡΠ»ΡΡΠΈΡ java ΠΊΠΎΠ΄Π° Π² javascript Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
> Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΠΊΡΠ΅ΡΡΠΈΡΡ spring mvc ΠΈ gwt.
ΠΡΡΡΠ΅ Π½Π΅ Π½Π°Π΄ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΠΊΠ°ΠΊ Π±ΡΠ΅Π΄ ΠΏΠΎΠ»Π½ΡΠΉ, ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½ΠΎ.
ΠΡ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΡΠΈΡΠΈΠΊΠ°, Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΡΠ°ΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ Ρ Π²Π°ΡΠΈΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ°, Π²ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠ΅ Π΄Π°ΠΆΠ΅ Π½Π΅ Π²Π΅ΡΡΠΈΠ½Π° Π°ΠΉΡΠ±Π΅ΡΠ³Π°, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ± Ρ ΠΎΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΠΊ ΡΠ΅ΠΌΡ ΡΡΠΎΠ³ΠΎ ΠΎΡΠ½ΡΡΡ Π½Π΅ Ρ Π²Π°ΡΠΈΡ.
ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ