Je suis assez nouveau sur Spring Boot et j'ai terminé une application qui fonctionne bien sur mon hôte local. Comme on m'a dit de le déployer en dehors de mon hôte local, par exemple sur un hôtel web ou un simulaire, j'ai besoin d'exporter le projet en tant que fichier de guerre et non en tant que fichier jar.
METTRE À JOUR!! J'exécute le projet en tant que Springproject généré dans Spring Initialzr et en utilisant Eclipse comme IDE.
Dans Eclipse, j'ai suivi les étapes
<packaging>war</packaging>
et
<dependencies>
<!-- … -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- … -->
</dependencies>
à partir de la page de référence de Spring Boot https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file
Dans mon projet j'utilise
<dependency>
<groupId>org.Apache.Tomcat.embed</groupId>
<artifactId>Tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
Dois-je ajouter la dépendance sprinng-boot-starter-Tomcat et ajouter celle-ci sur aswell ainsi que Tomcat-embed-jasper pour que ma dépendance soit comme ça?
<dependency>
<groupId>org.Apache.Tomcat.embed</groupId>
<artifactId>Tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-Tomcat</artifactId>
<scope>provided</scope>
</dependency>
Lorsque j'essaie d'exporter vers un fichier war dans Eclipse, Eclipse ne trouve pas mon projet. Il peut le trouver si j'essaie d'exporter Java> JAR FILE mais pas si j'essaie Web> WAR FILE
Quelqu'un sait-il ce que je fais mal et s'il est nécessaire d'exporter vers un fichier WAR pour le déployer sur un serveur externe?
Vous devez étendre **** SpringBootServletInitializer **** dans votre @SpringBootApplication
Vous n'avez pas besoin d'ajouter la dépendance **** sprinng-boot-starter-Tomcat **** pour la génération de fichiers war
Utilisez la configuration ci-dessous dans pom.xml
<packaging>war</packaging>
Configurez le chemin de génération pour votre projet et sélectionnez JDK
Faites un clic droit sur le projet> Exécuter en tant que> Installer Maven
Il générera le fichier war dans le dossier cible.
Copiez cette guerre et déployez-la sur n'importe quel serveur Web/d'application (je l'ai renommé demo.war).
Vous pouvez accéder à l'application en utilisant votre nom d'hôte suivi du nom du port et de l'application.
Pour générer un fichier WAR dans STS (Spring Tools Suite): Exécutez as-> Maven Install
Si vous souhaitez déployer le projet Spring Boot en tant que fichier war, vous devez suivre trois étapes:
Étend SpringBootServletInitializer
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DemoApplication.class);
}
}
si vous utilisez plusieurs classes principales, définissez-en une au démarrage
<start-class>com.javavogue.DemoApplication</start-class>
Mettre à jour l'emballage vers war pom.xml
packaging war packaging
Marqué le conteneur de servlet intégré comme fourni. à l'intérieur du fichier pom.
Référence: Déployer un WAR de démarrage Spring sur le serveur Tomcat