Je modifie le sujet car je me rends compte que j'étais auparavant complètement à côté de la plaque, j'ai essayé de faire un truc un peu trop compliqué juste pour afficher une page jsp sur mon navigateur. J'ai eu l'occasion aujourd'hui de demander de l'aide à quelqu'un qui s'y connaît en Maven et qui a réussi à faire ce que je voulais (afficher la page jsp en question) mais je n'arrive pas à reproduire l'affichage de cette page chez moi sur mon poste.
Bref, je suis en train de suivre le cours Maven et j'en suis à la leçon Packagez vos livrables (https://openclassrooms.com/fr/courses/4503526-organisez-et-packagez-une-application-java-avec-apache-maven/4609764-packagez-vos-livrables) et tout ce que je veux faire c'est afficher la page about.jsp sur mon navigateur. Après avoir lancé mon serveur Tomcat, je tape dans la bare d'adresse le localhost:8080 suivi du nom du module (/ticket) et de l'arborescence du fichier à afficher (/jsp/index.jsp) ce qui donne l'adresse finale : localhost:8080/ticket/jsp/index.jsp
Capture d'écran du module :
Le fichier pom.xml du projet parent contient le code Effective POM suivant :
Je lance donc le serveur en ayant défini mon projet comme étant lancé par mon serveur Tomcat, et j'installe l'application en faisant clic droit sur le projet > Run As > Maven Build… > et dans les goals j'indique « clean install ». Ensuite je tape mon adresse dans la barre, mais ça affiche erreur 404 - La ressource demandée n'est pas disponible.
Ce qui m'étonne car je ne sais pas ce que j'ai mal fait, si quelqu'un pouvait me donner une piste…
- Edité par AlbanPomarède 17 septembre 2020 à 23:28:04
Les gros POM de plus de 300 lignes affichés dans le premier message sont en fait les POM effectifs. J'imaginais que ça réorganisait simplement le code pour le rendre plus lisible mais je me suis rendu compte qu'en fait ça affiche plein d'autres lignes pas présentes dans le POM de base (lignes de configuration par défaut je suppose).
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>ticket3</artifactId>
<groupId>org.exemple.demo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>org.exemple.demo</groupId>
<artifactId>ticket-webapp</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>ticket-webapp Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<!-- Le nom "public" de l'application -->
<application.name>TicketTac</application.name>
<!-- Le format à utiliser pour afficher la date du build -->
<maven.build.timestamp.format>dd/MM/yyyy</maven.build.timestamp.format>
<!-- Propriété servant à contourner le bug du non remplacement
de la propriété maven.build.timestamp lors du filtrage des ressources -->
<buildTimestamp>${maven.build.timestamp}</buildTimestamp>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.exemple.demo</groupId>
<artifactId>ticket-business</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.exemple.demo</groupId>
<artifactId>ticket-model</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>ticket-webapp</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>jsp/_include/header.jsp</include>
<include>jsp/_include/footer.jsp</include>
<include>jsp/about.jsp</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
Sauf que je ne suis toujours pas bien avancé le jsp ne s'affiche toujours pas sans que j'arrive à comprendre pourquoi. Aurais-je oublié d'inclure une dépendance dans un POM ?
- Edité par AlbanPomarède 19 septembre 2020 à 14:14:20
Oublie le copier coller, prend juste ce que tu as besoin et construit un simple hello.jsp.
Justement je veux bien afficher un simple .jsp mais je n'y arrive pas. J'avais réussi à en afficher un avec Maven mais c'était dans une application sans sous-module, ce que j'essaie de faire c'est réussir à afficher un fichier .jsp qui se situe dans un sous-module.
Je pourrais certainement alléger l'application en retirant les sous-modules qui ne me servent pas pour l'instant (donc tous sauf ticket-webapp) et en retirant Junit (présent par défaut lors de l'initialisation avec Maven), mais je ne m'attends pas à ce que ça ait un impact sur l'affichage du .jsp sur mon navigateur. C'est vraiment ça qui me bloque et m'empêche de progresser dans le cours pour l'instant.
J'ai bien cherché des tutos sur internet pour indiquer comment afficher une simple page d'un sous-module Maven mais je n'ai rien trouvé qui correspondait à mes attentes. Et ça me dérange que le cours d'Open Classrooms sur Maven ne soit pas très clair là-dessus non plus. Enfin si j'ai suivi un tuto, mais comme à la fin il n'expliquait pas comment afficher l'application web sur mon ordinateur j'ai fini par m'embrouiller les pinceaux : http://websystique.com/maven/creating-maven-multi-module-project-with-eclipse/
Donc si quelqu'un peut m'expliquer pas à pas comment créer un projet Maven multi-module qui tourne sur serveur local Tomcat et afficher sur mon navigateur un jsp d'un sous-module ça serait cool.
J'ai moi aussi le même problème. Pour info si on a 3 JSP pour pas grand chose c'est que l'on suit le cours sur MAven...
Donc on fait des packaging application quasiment vide.
Erreur 404 avec Maven et Tomcat
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl
PXL Le retro gaming facile Thread sur le forum: https://openclassrooms.com/forum/sujet/retro-pxl