3 votes

Comment démarrer un nouveau projet vaadin dans IntelliJ IDEA ?

La réponse basée sur l'approche de l'archétype maven fonctionne. Je mettrai à jour et accepterai une réponse basée sur l'utilisation de l'assistant intégré si l'assistant/le modèle IntelliJ pour Vaadin est corrigé un jour.

J'ai réussi à créer un nouveau projet en utilisant l'archétype maven à partir d'une fenêtre de terminal, et ensuite l'importer dans IntelliJ IDEA, configuré la facette GWT, mais maintenant quand je l'exécute, il dit :

"Error running unnamed: No GWT Modules found in 'projectname'"

J'avoue être un débutant total en Java, IntellIJ, et Vaadin, sans parler de GWT.

J'ai également essayé de créer un nouveau projet Vaadin en utilisant le plugin Vaadin natif fourni avec IntelliJ IDEA (Ultimate). J'utilise Ultimate, mais c'est une version d'essai.

enter image description here

Mise à jour : : Au départ, je ne voyais aucun projet Vaadin dans la liste des modèles de projet disponibles dans la fenêtre Nouveau projet. C'est parce que j'étais confus par l'idée de deux niveaux de nouveaux projets dans l'assistant de nouveau projet d'IntelliJ. J'ai résolu ce problème maintenant.

Mise à jour2: : Je peux suivre les étapes de l'une ou l'autre des deux réponses ci-dessous et obtenir un projet qui se construit mais qui ne s'exécute pas. Je suppose que j'ai eu raison d'ajouter la cible d'exécution GWT, parce qu'avant que je fasse cela, le menu Exécuter est entièrement grisé. Je pense qu'il est grisé parce qu'il n'y a pas de modules listés dans la liste des modules pour la facette GWT.

enter image description here

Je suppose que je dois créer une nouvelle configuration Run/Debug qui doit être l'une des suivantes, et GWT avait un certain sens puisque vaadin est basé sur GWT :

enter image description here

Après avoir ajouté le GWT, j'ai toujours la même erreur que j'ai eu à l'origine lorsque j'ai commencé à partir de l'archétype maven : Aucun module GWT. Et je n'ai aucune idée de ce que les gens parlent de choisir dans un module déroulant...

enter image description here

Mise à jour3 Je n'ai toujours pas réussi à faire fonctionner les deux solutions ci-dessous. Je suis bloqué sur cet écran et je n'arrive pas à faire apparaître des modules dans la boîte combo "GWT modules to load" qui reste grisée. Je crois que c'est le module de la liste déroulante que je suis censé choisir, mais rien ci-dessous ne m'indique comment faire pour qu'il soit dégrisé (activé) :

enter image description here

J'ai finalement réussi à (a) ajouter la facette GWT manuellement, (b) la configurer, et (c) maintenant elle fonctionne. Cela conduit à une erreur d'exécution (l'application ne s'ouvre pas dans le navigateur web, mais il est clair qu'elle est très proche de fonctionner).

8voto

maba Points 15744

Voici comment j'ai fait.

Créez d'abord le projet Vaadin en utilisant l'artefact maven.

C:\dev> mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.0.4 -Dpackaging=war
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] Archetype repository missing. Using the one from [com.vaadin:vaadin-archetype-application:7.0.4] found in catalog remote
Define value for property 'groupId': : maba
Define value for property 'artifactId': : vaadin-app
Define value for property 'version':  1.0-SNAPSHOT: :
Define value for property 'package':  maba: :
Confirm properties configuration:
groupId: maba
artifactId: vaadin-app
version: 1.0-SNAPSHOT
package: maba
 Y: :
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: vaadin-archetype-application:7.0.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: maba
[INFO] Parameter: artifactId, Value: vaadin-app
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: maba
[INFO] Parameter: packageInPathFormat, Value: maba
[INFO] Parameter: package, Value: maba
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: maba
[INFO] Parameter: artifactId, Value: vaadin-app
[INFO] project created from Archetype in dir: C:\dev\vaadin-app
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 28.122s
[INFO] Finished at: Fri Apr 19 08:05:49 CEST 2013
[INFO] Final Memory: 12M/152M
[INFO] ------------------------------------------------------------------------
C:\dev>

Ensuite, allez dans le répertoire nouvellement créé et exécutez mvn install juste pour récupérer toutes les dépendances et avoir un nouveau départ.

c:\dev\vaadin-app> mvn install
[INFO] Scanning for projects...
    ...
    ------ LOTS OF STUFF GOING ON ------
    ...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3:30.373s
[INFO] Finished at: Fri Apr 19 08:13:07 CEST 2013
[INFO] Final Memory: 24M/296M
[INFO] ------------------------------------------------------------------------

Maintenant, ouvrez le projet en pointant sur le fichier nouvellement créé pom.xml .

enter image description here

Tout semble parfait. Choisissez de configurer le framework GWT dans la boîte verte dans le coin supérieur droit.

enter image description here

Choisissez maintenant le Edit Configurations... dans le menu déroulant.

enter image description here

Choisissez le GWT Configuration .

enter image description here

Donnez-lui un nom et choisissez l'option Module dans la liste déroulante.

enter image description here

Vous avez maintenant la possibilité de choisir GWT Module to load avec deux options pour le moment.

enter image description here

Je choisis d'exécuter l'application. Dans ce cas, il vous donnera une erreur.

enter image description here

Cela semble être une erreur connue en ce moment. Vous devrez ajouter le vaadin-client-compiler.jar à classpath manuellement.

Appuyez sur le bouton Project Structure dans la barre d'outils.

enter image description here

Sélectionnez Dependencies pour l'onglet vaadin-app et choisissez d'ajouter Jars or directories... .

enter image description here

Naviguez vers votre dépôt maven local et trouvez le fichier vaadin-client-compiler-<version>.jar .

Sur Mac OS et Linux/Unix, il se trouve à l'adresse suivante : ~/.m2/repository/com/vaadin/vaadin-client-compiler/7.0.4/...

enter image description here

Appuyez sur Ok y Ok à nouveau dans le Project Structure fenêtre.

Maintenant, exécutez à nouveau l'application. Plus d'erreurs.

enter image description here


Maintenant, je ne suis pas un expert en Vaadin, donc à partir de là, vous devez vous débrouiller tout seul.

Amusez-vous bien !

2voto

Charles Anthony Points 3145

Utilisation du plugin Vaadin :

Nouveau projet, sélectionnez Module Java - entrez le nom et l'emplacement du projet puis cliquez sur suivant.

Sélectionnez "Web Application" et "Vaadin Application", cochez "Create Sample vaad application" et entrez un nom de classe. Sélectionnez une version vaadin.

Cliquez sur Terminer.

Notez que l'application d'exemple générée ne compilera pas ( !) car je pense qu'elle provient d'une version bêta de Vaadin 7.

/* As Generated */
public class MySampleVaadinApplication extends UI {
  @Override
  public void init(VaadinRequest request) {
    Label label = new Label("Hello Vaadin user");
    addComponent(label);
 }
}

C'est ce qu'il devrait ressembler à

/* As it needs to be */
public class MySampleVaadinApplication extends UI {
  @Override
  public void init(VaadinRequest request) {
    Label label = new Label("Hello Vaadin user");
    setContent(label);
 }
}

Notez que le plugin Vaadin pour intellij n'est pas créé ou maintenu par l'équipe de développement Vaadin, mais par d'autres personnes, il n'a donc pas été mis à jour. Il est absolument possible de développer des applications Vaadin dans IntelliJ sans lui - nous le faisons.

J'avoue être un débutant total en Java, IntellIJ, et Vaadin, sans parler de GWT.

Bonne chance - vous avez beaucoup de choses à vous mettre sous la dent !

Select Java ModuleSelect "Web Application" and "Vaadin Application"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X