web-dev-qa-db-fra.com

Comment choisir l'URL de mon application Web Spring Boot?

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.

Des questions

  • Dans mon src/main/resources?

  • Comment devrais-je assigner l'URL dans le fichier?

45
Theo

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.

73
geoand

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
15
M. Deinum

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

13
brafdlog

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.

https://docs.spring.io/spring-boot/docs/2.0.1.BUILD-SNAPSHOT/reference/htmlsingle/#_custom_context_path

2
k_o_

Server.contextPath ou server.context-path fonctionne si

dans pom.xml

  1. l'emballage devrait être la guerre pas jar
  2. 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.

1
Manos

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.

  1. Java Config
  2. Arguments de ligne de commande
  3. Propriétés du système Java
  4. Variables d'environnement OS
  5. application.properties dans le répertoire actuel
  6. application.properties dans le chemin de classe (src/main/resources ou le fichier JAR empaqueté)
0
Sandeep

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.

0
Abdul Alim Shakir