Access Keys:
Skip to content (Access Key - 0)
 
Toggle Sidebar

AppFuse QuickStart - Italian

Added by Marcello Teodori, last edited by Marcello Teodori on Aug 25, 2008 05:41


Per iniziare a sviluppare applicazioni Java EE con AppFuse 2.x segui le istruzioni sotto:

Indice

  1. Crea un nuovo progetto.
  2. Eseguilo.
  3. Divertiti.

Crea un progetto

  1. Imposta il tuo Development Environment - o segui i passi sotto se sei un veterano.
    1. Scarica ed installa il JDK 5+ (assicurati che la variabile di ambiente JAVA_HOME punti al JDK e non al JRE).
    2. Scarica ed installa MySQL 5.x.
    3. Imposta un server SMTP locale o modifica mail.properties (in src/main/resources) in modo da usare un nome host diverso - quello predefinito è "localhost".
    4. Scarica ed installa Maven 2.0.9+.
  2. Dalla linea di comando, effettua un cd nella tua directory "Source" (c:\Source su Windows, ~/dev su Unix) ed esegui uno dei comandi mvn archetype:create dalla tabella sotto.
Choose your Stack
AppFuse è disponibile in un numero di diverse combinazioni. Per ottimizzare e semplificare la tua esperienza come utente, abbiamo creato una serie di diversi archetype (i.e. modelli di progetto). Attualmente ci sono due tipi di archetype in AppFuse: basic e modular. Gli archetype basic sono ideali per creare progetti da pubblicare come web application. Gli archetype modular contengono i moduli "core" e "web" e sono ideali per creare progetti che abbiamo un backend riutilizzabile. L'elenco di comandi per generare questi progetti è qui sotto. Devi solo modificare il groupId in modo che corrisponda al nome del package da te preferito e l'artifactId in modo che corrisponda al nome del progetto.
I warning che vedrai a progetto creato sono previsti. Se vedi BUILD SUCCESSFUL alla fine, il tuo progetto è stato creato correttamente.
Archetype Comando
JSF Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-jsf -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Spring MVC Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Struts 2 Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Tapestry Basic mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-tapestry -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
JSF Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-jsf -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Spring MVC Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Struts 2 Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Tapestry Modular mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-modular-tapestry -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
Core
(backend only)
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-core -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject

Dovresti essere in grado di eseguire AppFuse immediatamente se ha un database MySQL 5.x installato ed accessibile dall'utente root senza password. Se preferisci usare un database embedded, abbiamo aggiunto di recente anche dei [Database Profiles] per H2, HSQLDB, ecc.

MySQL Security
Eseguire MySQL con l'utente root senza password non è la cosa più sicura che si possa fare. Una volta creato il database, puoi modificare la password di root usando il comando sotto:
mysql --user=root --pass='' mysql -e "update user set password=password('newpw') where user='root'; flush privileges;"

AppFuse usa il nome utente "root" ed una password vuota per default. Per modificare questi valori, modifica le properties <jdbc.username> e <jdbc.password> nel pom.xml del tuo progetto (verso la fine del file).

Esegui la tua applicazione

Eseguire AppFuse è davvero facile ora. Una volta creato il tuo progetto dall'archetype, Maven creerà e popolerà il tuo database usando, rispettivamente, i plugin hibernate3 e dbunit. Tutto ciò che devi fare è usare Maven per eseguire il container Jetty e vedere la tua applicazione in esecuzione.

  1. Imports il tuo nuovo progetto in un sistema di versioning del sorgente, a meno che tu non abbia buone ragioni per non farlo. Google Code fornisce hosting Subversion gratuito, come fanno molti altri.
  2. Dalla linea di comando, fai cd nella directory del tuo nuovo progetto ed esegui mvn per scaricare i JAR delle dipendenza, Tomcat ed eseguire i test di integrazione del tuo progetto. Questo è un ottimo momento per un coffee break o farsi una birra a seconda dei gusti - scaricare tutto (solo la prima volta!) ed eseguire i test richiede 5-10 minuti.
  3. Per vedere l'applicazione, esegui mvn jetty:run-war dalla directory del tuo progetto (per un progetto modular, dovrai eseguire mvn jetty:run-war dalla directory web). Maven avvierà Jetty e dovresti poter vedere la tua applicazione nel tuo browser all'indirizzo http://localhost:8080.
    La coppia username/password predefinita per entrare con un utente admin è admin/admin. Per un utente normale, usa invece user/user.
  4. Per sovrascrivere i file di AppFuse, esegui mvn war:inplace. Ciò estrarrà le dipendenze WAR in src/main/webapp, dove potrai modificare i file a piacimento. Quando hai il war espanso nell'alberatura del tuo sorgente, puoi eseguire mvn jetty:run. Ciò ti permette di modificare i file al volo e Jetty se necessario lì ricaricherà. L'unico problema di questo approccio è il fatto che ti troverai con un "AppFuse esploso" nel tuo progetto, cosa che non va molto d'accordo con gli aggiornamenti. Raccomandiamo di mettere il progetto sotto controllo sorgente prima di eseguire mvn war:inplace. In tale modo, ti sarà più facile decidere cosa aggiungere sul repository e cosa eliminare.

Se hai degli errori di OutOfMemory quando esegui mvn jetty:run, vedi questa discussione in mailing list.

Puoi modificare AppFuse dalla sua "modalità embedded" alla modalità full-source eseguendo mvn appfuse:full-source dalla directory root del tuo progetto.

Bug with Ant 1.7.0
I repository locali ed i progetti su piattaforma Windows vanno in directory i cui path non contengano spazi. Per risolvere questo problema, modifica il tuo file $M2_HOME/conf/settings.xml e modifica il tuo localRepository a qualcosa di analoga a quanto segue:
<localRepository>c:\docume~1\username\.m2\repository</localRepository> 
Development Environment
Vedi development environment per istruzioni dettagliata su come impostare il tuo computer per sviluppare applicazioni basate su AppFuse.
Changing database settings
Per modificare le impostazioni del database MySQL, basta che cambi pe properties <jdbc.*> che trovi in fondo al file pom.xml. Vedi [Database Profiles] per usare un database doverso da MySQL.

Sviluppa la tua applicazione

Puoi sviluppare la tua applicazione usando Eclipse, IDEA o NetBeans. Per Eclipse, esegui mvn install eclipse:eclipse per generare i file di progetto. Per IDEA, usa mvn idea:idea. Trovi ulteriori istruzioni in [IDE Reference Guide].

I [Tutorials] dovrebbero aiutarti ad iniziare a sviluppare la tua applicazione.

Sviluppare Offline
Se preferisci sviluppare la tua applicazione AppFuse senza connessione internet, devi scaricarne le dependenze ed estrarle nella tua directory ~/.m2/repository. La documentazione in questo wiki è anche scaricabile come documento PDF

Adaptavist Theme Builder (3.1.4) Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.5.7 Build:#813 Aug 28, 2007)
Free theme builder license