2017-08-30 7 views
2

Je crée une application Spring-Boot pour une application non-web et je voudrais savoir quel Plugin ou procédure, je dois utiliser.Comment créer un fichier exécutable pour une application non-web avec Spring Boot

Pour un développement de services Micro, le plug-in d'ajouter dans un build.gradle est:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.6.RELEASE") 
    } 
} 

apply plugin: 'org.springframework.boot' 

Mais, lorsque vous exécutez le pot généré, le pot démarrer un Tomcat, et ce type de logiciel n'est pas nécessaire:

`java -jar ConsoleApp-0.7.0-SNAPSHOT.jar démo = demo``

2017-08-30 14:48:13.505 INFO 82718 --- [   main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 
2017-08-30 14:48:13.510 INFO 82718 --- [   main] spring.ParamLoader      : Loading data... 
2017-08-30 14:48:13.510 INFO 82718 --- [   main] spring.ParamLoader      : item: 
2017-08-30 14:48:13.523 INFO 82718 --- [   main] spring.ConsoleApp      : Started ConsoleApp in 4.648 seconds (JVM running for 5.257) 
^C2017-08-30 14:48:18.502 INFO 82718 --- [  Thread-3] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot[email protected]6477463f: startup date [Wed Aug 30 14:48:09 CEST 2017]; root of context hierarchy 

Toute alternative?

Merci beaucoup à l'avance.

Juan Antonio

+0

Vous n'avez pas besoin d'autre chose. Ce qui est démarré dépend des dépendances. Si vous n'incluez pas tomcat (ou l'un des autres conteneurs de servlet pris en charge), il démarrera en tant qu'application non Web. –

Répondre

5

Ce que vous avez est un bon début.

Ajoutez maintenant les dépendances suivantes pour obtenir toutes les bases de Spring.

dependencies { 
    compile('org.springframework.boot:spring-boot-starter') 
    testCompile 'org.springframework.boot:spring-boot-starter-test' 
} 

Ensuite, votre classe principale peut implémenter org.springframework.boot.CommandLineRunner et votre application peut commencer ses travaux dans la méthode run.

@SpringBootApplication 
public class MyApplication implements CommandLineRunner { 
    @Override 
    public void run(String[] args) { 
    // do your work here 
    } 

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

PS. Si vous avez d'abord Tomcat commencer assurez-vous que votre liste de dépendances ne PAS contiennent spring-boot-starter-web.

+1

Salut @Strelok, le problème était comme vous l'avez dit, la dépendance. compilez ("org.springframework.boot: spring-boot-starter: 1.5.6.RELEASE") précédemment: compilez ("org.springframework.boot: spring-boot-starter-web: 1.5.6.RELEASE") quand je supprimé le suffixe: web, l'application avait un comportement attendu. Merci beaucoup. – jabrena