web-dev-qa-db-fra.com

Arrêt immédiat de l'application de démarrage du printemps

J'essaie de créer une application SpringBoot simple. Lorsque j'exécute mon application Spring Boot, elle s'arrête immédiatement après le démarrage. Voici le journal de la console:

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v1.4.1.BUILD-SNAPSHOT)

2016-09-06 18:02:35.152  INFO 22216 --- [           main] com.example.SpringBootDemo1Application   : Starting SpringBootDemo1Application on IN-FMCN882 with PID 22216 (E:\workspace\springBoot\SpringBootDemo1\target\classes started by Rahul.Tyagi in E:\workspace\springBoot\SpringBootDemo1)
2016-09-06 18:02:35.158  INFO 22216 --- [           main] com.example.SpringBootDemo1Application   : No active profile set, falling back to default profiles: default
2016-09-06 18:02:35.244  INFO 22216 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@14dd9eb7: startup date [Tue Sep 06 18:02:35 IST 2016]; root of context hierarchy
2016-09-06 18:02:36.527  INFO 22216 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2016-09-06 18:02:36.546  INFO 22216 --- [           main] com.example.SpringBootDemo1Application   : Started SpringBootDemo1Application in 1.781 seconds (JVM running for 2.376)
2016-09-06 18:02:36.548  INFO 22216 --- [       Thread-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@14dd9eb7: startup date [Tue Sep 06 18:02:35 IST 2016]; root of context hierarchy
2016-09-06 18:02:36.550  INFO 22216 --- [       Thread-1] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

Ci-dessous mon code:

SpringBootDemo1Application.Java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Configuration
@EnableAutoConfiguration
@ComponentScan
@Controller
public class SpringBootDemo1Application {


    @ResponseBody
    @RequestMapping("/")
    public String entry(){
        return "My spring boot application";
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringBootDemo1Application.class, args);
    }
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.BUILD-SNAPSHOT</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Je veux que le serveur continue de fonctionner afin que le client puisse appuyer dessus pour obtenir une réponse ..___ S'il vous plaît Suggérer.

8
Rahul Tyagi

La seule explication possible à laquelle je puisse penser est que le jar intégré à Tomcat n’est pas inclus dans les dépendances/jar. Comme vous avez déjà défini la dépendance "spring-boot-starter-web", il aurait également dû extraire de manière transitoire les dépendances Tomcat intégrées. Mais d'une manière ou d'une autre, c'est exclu.

Choses à essayer.

  1. Exécutez "mvn dependency: tree" et vérifiez si les dépendances Tomcat existent et dans la portée "compile"
  2. Changez la version du démarreur de démarrage à ressort en 1.4.0.RELEASE.
9
Ameen.M

Cela a fonctionné quand j'ai changé la version de démarrage de printemps comme suit:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.0.RELEASE</version>
  </parent> 
3
Enayat Rajabi

Essayez d’ajouter server.port=someAvailablePortNumber dans le fichier application.properties situé dans le dossier "resources". 

Je faisais également face au même problème. essayé beaucoup de modifications suggérées dans le fichier pom.xml mais rien ne fonctionnait pour moi. Dans mon cas, le port 8080 n’était pas disponible, de sorte que l’application n’a pas pu démarrer Tomcat avec le port par défaut (8080), ce qui l’a immédiatement arrêté.

La modification du numéro de port a permis de démarrer Tomcat et l'application a commencé à fonctionner. J'espère que ça aide :)

3
Maria

j'ai rencontré le même problème, mon OS est Win7, mon idée est Eclipse, après avoir changé la version de démarrage de printemps en version 1.5.7.release, tout est ok.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.7.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

j'ai essayé spring boot 2.0.2.release, 1.5.13.release, 1.5.1.release, ils ne peuvent pas tous fonctionner sur mon OS win7 en utilisant Eclipse, mais ils peuvent exécuter mon ubuntu16.04 en ligne de commande et compiler avec même code.

0
y119777

Effacer mon dépôt Maven local a résolu ce problème pour moi. Le moyen le plus simple consiste à supprimer ~/.m2/repository

0
KC Baltz

Vérifiez votre configuration de journal, vous essayez peut-être de sauvegarder les journaux dans le dossier, ils ne peuvent pas être créés.

<appender name="allFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/log/app/all.log</file>
         ...
</appender>
0
arctica

Si nous n'utilisons pas de version .RELEASE de spring, nous devons ajouter les référentiels ci-dessous dans notre fichier pom.xml. 

Et nous pouvons utiliser la commande "mvn spring-boot: run" pour exécuter notre application Spring en ligne de commande.

<!-- (you don't need this if you are using a .RELEASE version) -->
<repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>http://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>http://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>http://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
0
Rahul Tyagi

Dans votre fonction principale "SpringApplication.run (Main.class, args.close ());" ne devrait pas être proche, cela devrait être comme "SpringApplication.run (Main.class, args);"

Exemple :

@SpringBootApplication
public class Main{
  public static void main(String[] args) {
    SpringApplication.run(Main.class, args);
  }
}
0
Nehemiah Clement

Ce qui l’a résolu pour moi a été de mettre à jour la référence "parent" dans pom.xml.

c'est mon travail pom.xml:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.boot</groupId>
<artifactId>project-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
</parent>

<name>project-boot</name>
<url>http://maven.Apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

0
Dror