Partage
  • Partager sur Facebook
  • Partager sur Twitter

[HELP] Débutant Java Spring, problème de conf'

Simplifiez le développement d'applications Java avec Spring

    14 janvier 2019 à 16:42:07

    Bonjour,

    Je suis étudiant en alternance informatique (3eme année) et l'entreprise dans laquelle je suis cette année bosse avec des technos Java (Java, JEE, Spring).

    N'ayant pas bcp fais de Java dans ma vie (j'ai fais plus du JS/PHP avec ou sans frameworks), je monte actuellement en compétences grâce aux tutos Open Classroom. J'ai fais ces deux suivants :

    Et suis actuellement bloqué au tout début de celui ci :

    Je télécharge l'app depuis Github mais n'arrive même pas à la lancer. Le problème viens de la configuration de Maven et/ou Tomcat mais j'avoue aussi et surtout que je bloque car tout ça n'a pas l'air pas très clair dans ma tete...! ^^


    Quelqu'un peut m'aider à configurer le projet comme il faut pour qu'il se lance au moins, et que je puisse continuer le cours tranquille svp ?

    Merci bcp d'avance, comme la plus part du temps : Vous êtes géniaux :p

    Si vous voulez plus d'info voici le msg d'erreur que j'obtient lorsque je lance l'appli Java depuis Eclipse apres avoir configurer le serveur tomcat (v8.5) :

    HTTP Status 500 – Internal Server Error
    
    
    Type Exception Report
    
    Message Servlet.init() for servlet [org.example.demo.ticket.webapp.rest.RestApplication] threw exception
    
    Description The server encountered an unexpected condition that prevented it from fulfilling the request.
    
    Exception
    javax.servlet.ServletException: Servlet.init() for servlet [org.example.demo.ticket.webapp.rest.RestApplication] threw exception
    	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    	org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
    	org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
    	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
    	org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	java.base/java.lang.Thread.run(Thread.java:834)
    
    
    Root Cause
    java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
    	org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:270)
    	org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:217)
    	org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:450)
    	org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:330)
    	org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
    	org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
    	javax.servlet.GenericServlet.init(GenericServlet.java:158)
    	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    	org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
    	org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    	org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
    	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
    	org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    	java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	java.base/java.lang.Thread.run(Thread.java:834)
    
    

    -
    Edité par SlawTech 15 janvier 2019 à 10:04:24

    • Partager sur Facebook
    • Partager sur Twitter
      17 juillet 2019 à 16:39:57

      Salut Kingwals ,

      Juste au cas, si tu as ce message, après avoir eu le même et avoir galéré facile deux bons jours dessus :

      Vérifie ta version de java : ce doit être du jdk 8 et non pas une autre version, en effet, la version 4.3.machin du cours n'est pas compatible avec les versions de java au delà du 8.

      Tu peux également vérifier la version de tomcat pour t'assurer que celle ci est bien prise en compte par le jdk 8 et au lancement du projet, il est "normal" d'obtenir une erreur 404, va simplement à l'adresse : localhost:8080/gneugneugneu/projets. (remplace gneugneugneu par ton ticket-webapp exploded s'il est dans ton url.

      Hésite pas à me contacter si nécessaire, les souvenirs sont frais pour le moment.

      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2020 à 12:35:17

        MERCI pour cette réponse! Il faudrait vraiment que ce soit précisé dans ce cours, entre autres choses d'ailleurs, il est considérer comme de niveau "moyen" mais le suivre implique d'avoir déjà des bases solide sur le fonctionnement de Java EE, de la construction de servlets, les beans etc... ce qui en fait je trouve un cours très difficile à suivre, sans compter que le prof va très vite en besogne et n'explique que ce qu'il fait mais quasiment jamais le contexte.

        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2020 à 16:55:31

          Ce serait pas la seule chose à préciser dans ce cours malheureusement.

          Le cours est très (trop?) complexe et entre certains détails que je ne supporte pas personnellement (le code copié collé depuis un autre écran que celui où l'enregistrement se passe pour gagner du temps lors de la rédaction du code et ainsi réduire le temps des vidéos) et la difficulté générale du cours, celui ci pose vraiment soucis.

          Si tu as des notions d'anglais, je te recommande vivement de zapper ce cours, il ne t'apportera pas de plus value car il te présente une vision minoritaire des configurations (en entreprise, tu utilisera majoritairement les annotations, pas le xml), partiale (parce que bon j'ai beau aimer la tartiflette, faire le choix d'ignorer spring boot alors que le titre du cours est :"Simplifiez[...]" c'est juste ignoble) et enfin juste atroce car je ne sais pas à quel moment d'un parcours d'apprentissage on ne présente pas une application sans front, sans résultat visuel pour comprendre le fonctionnement effectif d'une application.

          J'aimerais bien pouvoir noter le cours et voir la notation générale de celui-ci.

          Au cas où vu que je suis passé par là récemment, la documentation officiel (https://docs.spring.io/) sera ta meilleure amie, stack overflow également, et n'hésite pas à poser des questions et partager ton code via github, sans compter l'immense aide de site comme baeldung qui te permettront de comprendre au mieux spring, spring boot, spring security etc... et de vraiment simplifier le développement d'application java avec spring

          • Partager sur Facebook
          • Partager sur Twitter
            9 janvier 2020 à 8:27:08

            Merci, pour ces précisions, concernant le fait que le jdk8 n'ai pas précisé, en fait il l'est, il est dit que jdk8 est utilisé pour ce cours, mais moi naïvement j'avais compris "jdk8 ou plus récent", bref, c'est pour ça que je lui en veux de ne pas expliquer le pourquoi.

            Oui, j'ai fait un point rapide avec mon mentor, il m'a dit "mais nan tu te complique inutilement les choses, utilise déja ça pour commencer: https://start.spring.io/ " . Ce site initialise directement le code de tout le framework avec les dépendances de notre choix etc. La je me rends compte que: pas besoins de passer par du multi-module, pas besoin nécessairement de tout abstracter, de faire des beans etc... En fait le cours en question aborde des notions qui ont les 3/4 du temps pas grand chose a voir avec spring, c'est le titre du cours qui est très mal choisi.

            En tout cas oui je consulte directement la doc anglaise, c'est plus straight to the point!

            Je tacherai de publier mon repo dès que j'ai quelque chose de concret, si j'y repense. ^^

            • Partager sur Facebook
            • Partager sur Twitter
              11 février 2020 à 0:41:03

              Merci à vous deux pour vos réponses, j'avoue avoir lâché ce cours ci est continué à apprendre directement avec mes collègues en entreprise vu que j'avais cette chance.

              Dsl du retard et merci encore, je passe le sujet en résolu d'ici quelques jours.
              • Partager sur Facebook
              • Partager sur Twitter

              [HELP] Débutant Java Spring, problème de conf'

              × 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.
              • Editeur
              • Markdown