-1

Je veux déployer opencms.war/n'importe quel fichier de guerre (qui n'est pas construit au démarrage de printemps, mais il peut être exécuté sur n'importe quelle application ou des serveurs Web) dans le serveur embarqué intégré de l'application de démarrage de printemps. Quelqu'un peut-il m'aider s'il vous plaît à ce sujet?Est-il possible de déployer un fichier war externe dans un serveur Tomcat embarqué/intégré au démarrage du printemps?

+0

Après tant de jours j'ai eu la solution et c'est possible et la façon ci-dessous que j'ai fait. – Chandhu

Répondre

0

Essayez simplement cette approche. ajoutez ce bloc de code dans votre application de démarrage de printemps. Placez votre fichier war dans un répertoire src/main/resources.

@Bean 
    public EmbeddedServletContainerFactory servletContainerFactory() { 
     return new TomcatEmbeddedServletContainerFactory() { 

      @Override 
      protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(Tomcat tomcat) { 

       new File(tomcat.getServer().getCatalinaBase(), "webapps").mkdirs(); 

       try { 

        tomcat.addWebapp("/test", new ClassPathResource("test.war").getFile().toString()); 

       } catch (Exception ex) { 
        throw new IllegalStateException("Failed to add webapp",ex); 
       } 
       return super.getTomcatEmbeddedServletContainer(tomcat); 
      } 
     }; 

    }