J'utilise Spring Boot pour créer une application Web et je ne sais pas comment changer l'URL de localhost:8080
à quelque chose comme localhost:8080/myWebApp
.
J'ai vu beaucoup de ressources en ligne référençant un application.properties
fichier et l'ajoutant au classpath. Mais, je ne sais pas exactement où mettre cela.
Dans mon src/main/resources
?
Comment devrais-je assigner l'URL dans le fichier?
Vous devez définir la propriété server.contextPath
à /myWebApp
.
Départ ceci partie de la documentation
Le moyen le plus simple de définir cette propriété consiste à utiliser le fichier de propriétés que vous utilisez (très probablement application.properties
) mais Spring Boot fournit une multitude de façons différentes de définir les propriétés. Départ ceci partie de la documentation
[~ # ~] éditer [~ # ~]
Comme mentionné par @AbdullahKhan, à partir de Spring Boot 2.x, la propriété est obsolète et doit être remplacée par server.servlet.contextPath
comme indiqué correctement dans this answer.
Dans votre src/main/resources
mettre un application.properties
ou application.yml
et mettez un server.contextPath
dedans.
server.contextPath=/your/context/here
Lorsque vous démarrez votre application, celle-ci sera disponible à l'adresse http://localhost:8080/your/context/here
.
Pour une liste complète des propriétés à définir, voir Annexe A. du guide de référence de Spring Boot.
Au lieu de le placer dans le fichier application.properties, vous pouvez également le transmettre en tant que propriété système lors du démarrage de votre application.
Java -jar yourapp.jar -Dserver.contextPath=/your/path/here
Dès le démarrage du printemps 2, le server.contextPath
La propriété est obsolète. Au lieu de cela, vous devriez utiliser server.servlet.contextPath
.
Donc, dans votre fichier application.properties, ajoutez:
server.servlet.contextPath=/myWebApp
Pour plus de détails, voir: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide#servlet-specific-server-properties
Dans Spring Boot 2, la propriété, par exemple, dans application.properties
est server.servlet.context-path=/myWebApp
pour définir le chemin du contexte.
Server.contextPath ou server.context-path fonctionne si
dans pom.xml
Ajouter les dépendances suivantes
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Tomcat/TC server --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-Tomcat</artifactId> <scope>provided</scope> </dependency>
Dans Eclipse, cliquez avec le bouton droit sur projet -> Exécuter en tant que -> Spring Boot App.
La question de la modification du chemin de contexte d’une application Spring est très bien traitée dans la publication intitulée Chemin du contexte de modification du démarrage du printemps
En gros, le post traite de plusieurs façons de réaliser cette vision.
Spring Boot, par défaut, sert le contenu sur le chemin de contexte racine (“/”). Parfois, nous avons besoin d'un chemin personnalisé. Il y a plusieurs façons de le faire.
Le moyen le plus simple de modifier le chemin de contexte consiste à définir la propriété dans le fichier application.properties.
server.servlet.context-path=/myWebApp
Une autre méthode consiste à définir le chemin du contexte en tant que propriété système Java avant que le contexte ne soit initialisé):
public static void main(String[] args) {
System.setProperty("server.servlet.context-path", "/myWebApp");
SpringApplication.run(Application.class, args);
}
Vous pouvez également définir les propriétés de manière dynamique via des arguments de ligne de commande.
Java -jar app.jar --server.servlet.context-path=/myWebApp
Spring Boot peut également dépendre des variables d'environnement du système d'exploitation. Sur les systèmes Unix, nous pouvons écrire:
export SERVER_SERVLET_CONTEXT_PATH=/myWebApp
Sous Windows, la commande permettant de définir une variable d’environnement est la suivante:
set SERVER_SERVLET_CONTEXT_PATH=/myWebApp
Remarque: les solutions fonctionneront pour démarrage à ressort 2.x.x. J'espère que ça aide.