Comment créer des fichiers de guerre

Quelles sont les meilleures pratiques pour créer des fichiers de guerre (en utilisant eclipse) pour exécuter sur tomcat? des tutoriels, des liens, des exemples sont très appréciés.

Vous pouvez utiliser Ant pour configurer, comstackr, WAR et déployer votre solution.

 

Vous pouvez ensuite exécuter un clic dans Eclipse pour exécuter cette cible Ant. Voici des exemples de chacune des étapes:

Conditions préalables

Nous supposerons que votre code est organisé comme suit:

  • ${basedir}/src : fichiers Java, propriétés, fichiers de configuration XML
  • ${basedir}/web : vos fichiers JSP
  • ${basedir}/web/lib : tous les JAR requirejs à l’exécution
  • ${basedir}/web/META-INF : Votre manifeste
  • ${basedir}/web/WEB-INF : vos fichiers web.xml

Installer

Définissez une tâche de setup qui crée le répertoire de dissortingbution et copie tous les artefacts qui doivent être WARred directement:

   Copying web into dist    

Comstackr

Générez vos fichiers Java dans des classes et copiez tous les artefacts non-Java résidant sous src mais qui doivent être disponibles au moment de l’exécution (par exemple, propriétés, fichiers XML, etc.):

                  

Construire WAR

Créez le WAR lui-même:

         

Déployer

Enfin, vous pouvez configurer une tâche pour déployer le fichier WAR directement dans votre emplacement de déploiement Tomcat:

    

Cliquez et allez!

Une fois que tout cela est configuré, il suffit de lancer la cible default partir d’Eclipse pour comstackr, WAR et déployer votre solution.

L’avantage de cette approche réside dans le fait qu’elle fonctionne en dehors d’Eclipse et d’Eclipse et permet de partager facilement votre stratégie de déploiement (par exemple, via un contrôle de code source) avec d’autres développeurs qui travaillent également sur votre projet.

J’ai toujours choisi Exporter depuis Eclipse. Il construit le fichier war et inclut tous les fichiers nécessaires. Si vous avez créé le projet en tant que projet Web, vous ne devez que le faire. Eclipse le rend très simple à faire.

Nous utilisons Maven (le grand frère de Ant) pour tous nos projets java, et son plugin WAR est très pratique. Vous y trouverez des tutoriels et leur utilisation.

C’est beaucoup plus facile que Ant, entièrement compatible avec Eclipse (utilisez maven eclipse: eclipse pour créer des projets Eclipse) et facile à configurer.

La page d’accueil de Maven

Plugin Maven WAR

Exemple de configuration:

  org.apache.maven.plugins maven-war-plugin 2.1-alpha-2  ${project.build.directory}/tmp/ ${project.build.directory}/tmp/war/work ${project.build.webappDirectory} ${project.build.directory}/tmp/war/work/webapp-cache.xml  pdf png gif jsp    src/main/webapp/ WEB-INF true  **/*.xml    Application   

Un fichier war est simplement un fichier jar avec une extension war, mais ce qui le fait fonctionner est la façon dont le contenu est réellement structuré.

Le tutoriel J2EE / Java EE peut être un début:

http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents3.html

Et la spécification Servlet contient les détails gory:

http://java.sun.com/products/servlet/download.html

Si vous créez un nouveau projet Web dans Eclipse (je fais référence à la version de Java EE), la structure est créée pour vous et vous pouvez également lui indiquer où votre Appserver est installé et déployer et démarrer l’application pour vous.

L’utilisation de l’option “Exporter -> Fichier WAR” vous permettra de sauvegarder le fichier de guerre.

Si vous ne savez pas quoi faire et que vous partez de zéro, Maven peut vous aider à démarrer.

En suivant les étapes ci-dessous, vous pouvez obtenir une nouvelle configuration de projet de guerre parfaitement en éclipse.

  1. Téléchargez et installez Maven
  2. Allez sur la ligne de commande exécutée: mvn archetype:generate
  3. Suivez les étapes suggérées – en choisissant le projet Web Java simple (18) et un nom approprié.
  4. A la fin de l’exécution: mvn eclipse:eclipse
  5. Démarrez Eclipse. Choisissez Fichier -> Importer -> Projet existant. Sélectionnez le répertoire où vous avez exécuté les objectives mvn.
  6. Ça y est, vous devriez maintenant avoir un très bon départ pour un projet de guerre en éclipse
  7. Vous pouvez créer la guerre elle-même en exécutant mvn package ou en le mvn package en configurant un serveur dans eclipse et en ajoutant simplement le projet au serveur.

Comme d’autres l’ont dit, l’inconvénient de l’utilisation de maven est que vous devez utiliser les conventions maven. Mais je pense que si vous débutez, apprendre les conventions est une bonne idée avant de commencer à créer les vôtres. Rien ne vous empêche plus tard de changer / refactoriser votre méthode préférée.

J’espère que cela t’aides.

Utilisez la tâche de guerre Ant

Utiliser le code de construction de fourmi J’utilise ceci pour mon projet SMS

       -------------------------------------------------- comstack - Comstack archive - Generate WAR file --------------------------------------------------                           

Une autre option serait de le construire automatiquement en utilisant Eclipse. Bien sûr, si vous avez un environnement d’intégration continu, Ant ou Maven est recommandé. L’alternative d’exportation n’est pas très pratique car vous devez configurer chaque fois les propriétés d’exportation.

PAS:

  1. Activer le support “Project Archives”; Cela peut dépendre de votre projet (je l’ai utilisé sur un projet Java EE / Web). Cliquez avec le bouton droit sur le répertoire racine du projet; Configurez -> Ajouter le support des archives du projet.

  2. Allez créer une nouvelle archive dans le répertoire supérieur “Archives du projet”. Vous n’avez que l’option jar, mais nommez-vous archive * .war.

  3. Configurez Fileset-s, c.-à-d. Quels fichiers doivent être inclus. La méthode standard consiste à configurer deux groupes de fichiers de la même façon que l’Assemblée de déploiement Web (propriété de projet) est configurée.

    • copier / WebContent à /
    • copier / construire / classes à WEB-INF / classes (créer ce groupe de fichiers après avoir défini le répertoire WEB-INF / classes dans l’archive)
  4. Vous devrez peut-être tweeker la propriété exclude du groupe de fichiers selon l’endroit où vous avez placé certains fichiers de configuration ou vous pourriez avoir besoin de plus de groupes de fichiers, mais l’idée est qu’une fois configuré, vous n’avez pas besoin de le modifier.

  5. Construisez l’archive manuellement ou publiez-la directement sur le serveur. mais est également construit automatiquement pour vous par Eclipse

Une autre option commune est la graduation.

http://www.gradle.org/docs/current/userguide/application_plugin.html

Pour créer votre fichier de guerre dans une application Web:

Dans build.gradle, ajoutez:

 apply plugin: 'war' 

Alors:

 ./gradlew war 

Utilisez la mise en page de la réponse acceptée ci-dessus.

Solution plus simple qui actualise également l’espace de travail Eclipse:

             

Code shell simpliste pour la création de fichiers WAR à partir d’un projet Web dynamic Eclipse standard. Utilise le système de fichiers RAM (/ dev / shm) sur une plate-forme Linux.

 #!/bin/sh UTILITY=$(basename $0) if [ -z "$1" ] ; then echo "usage: $UTILITY [-s] ..." echo " -s ..... With source" exit 1 fi if [ "$1" == "-s" ] ; then WITH_SOURCE=1 shift fi while [ ! -z "$1" ] ; do WEB_APP_DIR=$1 shift if [ ! -d $WEB_APP_DIR ] ; then echo "\"$WEB_APP_DIR\" is not a directory" continue fi if [ ! -d $WEB_APP_DIR/WebContent ] ; then echo "\"$WEB_APP_DIR\" is not a Web Application directory" continue fi TMP_DIR=/dev/shm/${WEB_APP_DIR}.$$.tmp WAR_FILE=/dev/shm/${WEB_APP_DIR}.war mkdir $TMP_DIR pushd $WEB_APP_DIR > /dev/null cp -r WebContent/* $TMP_DIR cp -r build/* $TMP_DIR/WEB-INF [ ! -z "$WITH_SOURCE" ] && cp -r src/* $TMP_DIR/WEB-INF/classes cd $TMP_DIR > /dev/null [ -e $WAR_FILE ] && rm -f $WAR_FILE jar cf $WAR_FILE . ls -lsF $WAR_FILE popd > /dev/null rm -rf $TMP_DIR done 

Utilisez cette commande en dehors du dossier WEB-INF. Cela devrait créer votre fichier de guerre. C’est la méthode la plus rapide que je connaisse.

Vous aurez besoin de JDK 1.7+ installé pour atteindre ces variables d’exploitation et d’environnement qui pointent vers le répertoire bin de votre JDK.

 jar -cvf projectname.war * 

Lien de référence

** Création d’un fichier War dans le projet web Eclips Gaynemed of grails **

Projet 1.Import:

2. Changez le fichier datasource.groovy

Comme ceci: url = “jdbc: postgresql: //18.247.120.101: 8432 / PGMS”

2.faire AppConfig.xml

3.kill le Java de Task Manager:

  1. exécuter propre comand à eclips

  2. Exécuter ‘prod war’ par nom de projet.

  3. Vérifiez le fichier journal et recherchez le même fichier .war dans le répertoire du plan de travail avec la même date.