[JAVA] Créez un projet de développement d'application Spring Boot avec la commande cURL + tar

Lors de la création d'une nouvelle application Spring Boot, je pense que de nombreuses personnes créent des projets de développement par l'une des méthodes suivantes.

Vous pouvez rechercher des artefacts dépendants qui peuvent être spécifiés à l'aide de l'interface utilisateur Web ou de l'assistant IDE, et vous pouvez facilement créer un projet de développement en spécifiant simplement une valeur dans le formulaire de saisie et en cliquant sur. C'est très pratique et j'adore ça, mais parfois je trouve que le fonctionnement de l'interface utilisateur en lui-même est gênant.

Dans un tel cas, c'est CLI. Spring Boot prend également en charge la méthode de création d'un projet de développement à l'aide des commandes fournies par Spring Boot, mais cette fois, je vais vous montrer comment utiliser les commandes curl et tar.

Créer un projet pour une application autonome

Vous pouvez créer un projet de développement pour une application autonome (= non WEB) en exécutant la commande suivante.

$ curl -s https://start.spring.io/starter.tgz -d baseDir=demo | tar -xzvf -
x demo/mvnw
x demo/
x demo/.mvn/
x demo/.mvn/wrapper/
x demo/src/
x demo/src/main/
x demo/src/main/java/
x demo/src/main/java/com/
x demo/src/main/java/com/example/
x demo/src/main/resources/
x demo/src/test/
x demo/src/test/java/
x demo/src/test/java/com/
x demo/src/test/java/com/example/
x demo/.gitignore
x demo/.mvn/wrapper/maven-wrapper.jar
x demo/.mvn/wrapper/maven-wrapper.properties
x demo/mvnw.cmd
x demo/pom.xml
x demo/src/main/java/com/example/DemoApplication.java
x demo/src/main/resources/application.properties
x demo/src/test/java/com/example/DemoApplicationTests.java

Structure du répertoire


$ tree demo
demo
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── DemoApplication.java
    │   └── resources
    │       └── application.properties
    └── test
        └── java
            └── com
                └── example
                    └── DemoApplicationTests.java

Essayez de construire.

$ cd demo
$ ./mvnw clean package

Essayez de l'exécuter.

$ java -jar target/demo-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.3.RELEASE)

2017-01-03 15:38:28.749  INFO 31974 --- [           main] com.example.DemoApplication              : Starting DemoApplication v0.0.1-SNAPSHOT on Kazuki-no-MacBook-Pro.local with PID 31974 (/usr/local/apps/demo/target/demo-0.0.1-SNAPSHOT.jar started by shimizukazuki in /usr/local/apps/demo)
2017-01-03 15:38:28.751  INFO 31974 --- [           main] com.example.DemoApplication              : No active profile set, falling back to default profiles: default
2017-01-03 15:38:28.794  INFO 31974 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@5b37e0d2: startup date [Tue Jan 03 15:38:28 JST 2017]; root of context hierarchy
2017-01-03 15:38:29.312  INFO 31974 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-01-03 15:38:29.323  INFO 31974 --- [           main] com.example.DemoApplication              : Started DemoApplication in 0.843 seconds (JVM running for 1.151)
2017-01-03 15:38:29.324  INFO 31974 --- [       Thread-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@5b37e0d2: startup date [Tue Jan 03 15:38:28 JST 2017]; root of context hierarchy
2017-01-03 15:38:29.325  INFO 31974 --- [       Thread-1] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

:clap: :clap: :clap:

Créer un projet pour une application WEB

Vous pouvez créer un projet de développement pour les applications WEB en exécutant la commande suivante (spécifier le site Web pour les dépendances).

$ curl -s https://start.spring.io/starter.tgz -d name=web-demo -d artifactId=web-demo -d dependencies=web -d baseDir=web-demo | tar -xzvf -
x web-demo/mvnw
x web-demo/
x web-demo/.mvn/
x web-demo/.mvn/wrapper/
x web-demo/src/
x web-demo/src/main/
x web-demo/src/main/java/
x web-demo/src/main/java/com/
x web-demo/src/main/java/com/example/
x web-demo/src/main/resources/
x web-demo/src/main/resources/static/
x web-demo/src/main/resources/templates/
x web-demo/src/test/
x web-demo/src/test/java/
x web-demo/src/test/java/com/
x web-demo/src/test/java/com/example/
x web-demo/.gitignore
x web-demo/.mvn/wrapper/maven-wrapper.jar
x web-demo/.mvn/wrapper/maven-wrapper.properties
x web-demo/mvnw.cmd
x web-demo/pom.xml
x web-demo/src/main/java/com/example/WebDemoApplication.java
x web-demo/src/main/resources/application.properties
x web-demo/src/test/java/com/example/WebDemoApplicationTests.java

Structure du répertoire


$ tree web-demo
web-demo
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── WebDemoApplication.java
    │   └── resources
    │       ├── application.properties
    │       ├── static
    │       └── templates
    └── test
        └── java
            └── com
                └── example
                    └── WebDemoApplicationTests.java

Essayez de construire.

$ cd web-demo
$ ./mvnw clean package

Essayez de l'exécuter.

$ java -jar target/web-demo-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.3.RELEASE)

2017-01-03 15:48:49.606  INFO 32190 --- [           main] com.example.WebDemoApplication           : Starting WebDemoApplication v0.0.1-SNAPSHOT on Kazuki-no-MacBook-Pro.local with PID 32190 (/usr/local/apps/web-demo/target/web-demo-0.0.1-SNAPSHOT.jar started by shimizukazuki in /usr/local/apps/web-demo)
2017-01-03 15:48:49.608  INFO 32190 --- [           main] com.example.WebDemoApplication           : No active profile set, falling back to default profiles: default
2017-01-03 15:48:49.658  INFO 32190 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4bf558aa: startup date [Tue Jan 03 15:48:49 JST 2017]; root of context hierarchy
2017-01-03 15:48:50.658  INFO 32190 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2017-01-03 15:48:50.670  INFO 32190 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2017-01-03 15:48:50.671  INFO 32190 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.6
2017-01-03 15:48:50.744  INFO 32190 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2017-01-03 15:48:50.744  INFO 32190 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1089 ms
2017-01-03 15:48:50.855  INFO 32190 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean  : Mapping servlet: 'dispatcherServlet' to [/]
2017-01-03 15:48:50.858  INFO 32190 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-01-03 15:48:50.858  INFO 32190 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-01-03 15:48:50.858  INFO 32190 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-01-03 15:48:50.858  INFO 32190 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2017-01-03 15:48:51.071  INFO 32190 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4bf558aa: startup date [Tue Jan 03 15:48:49 JST 2017]; root of context hierarchy
2017-01-03 15:48:51.123  INFO 32190 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-01-03 15:48:51.124  INFO 32190 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-01-03 15:48:51.147  INFO 32190 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-01-03 15:48:51.147  INFO 32190 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-01-03 15:48:51.173  INFO 32190 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-01-03 15:48:51.282  INFO 32190 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-01-03 15:48:51.335  INFO 32190 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-01-03 15:48:51.338  INFO 32190 --- [           main] com.example.WebDemoApplication           : Started WebDemoApplication in 2.123 seconds (JVM running for 2.45)

Essayez d'accéder au Tomcat démarré.

$ curl http://localhost:8080/
{"timestamp":1483426201099,"status":404,"error":"Not Found","message":"No message available","path":"/"}

Je n'ai pas créé de point de terminaison, il est donc correct d'obtenir une erreur 404 Not Found.

:clap: :clap: :clap:

Pour plus d'informations···

Lisez le fichier README Spring Initializr GitHub.

Résumé

Si vous avez décidé quoi faire à l'avance (par exemple, dans le cas de la procédure lors de la configuration de l'environnement de développement) ... Développer avec une seule ligne (= commandes de copie) en utilisant CLI au lieu d'utiliser GUI Il est efficace de suivre la procédure de création d'un projet.

Recommended Posts

Créez un projet de développement d'application Spring Boot avec la commande cURL + tar
Créez une application de recherche simple avec Spring Boot
Créer un environnement de développement Spring Boot avec docker
Créez une application avec Spring Boot 2
Créez une application avec Spring Boot
Créez un fichier jar avec la commande
Créez un site Web avec Spring Boot + Gradle (jdk1.8.x)
Créer un serveur API Web avec Spring Boot
Comment créer un projet Spring Boot dans IntelliJ
[Spring Boot] Comment créer un projet (pour les débutants)
Créer Restapi avec Spring Boot (jusqu'à l'exécution de l'application)
Créez un site de démonstration simple avec Spring Security avec Spring Boot 2.1
Créer un micro service avec Spring Boot
Une histoire remplie des bases de Spring Boot (résolu)
Créez une application Web Hello World avec Spring Framework + Jetty
Déploiement à chaud avec le développement Spring Boot
Créer une application en ligne de commande avec maven
Création d'un environnement de développement Spring Boot dans Vagrant
[Rails6] Créer une nouvelle application avec Rails [Débutant]
Créez un lot à la demande simple avec Spring Batch
Créer un environnement de développement Spring Boot-gradle-mysql avec Docker
Créer un projet Java Spring Boot avec IntelliJ
Démarrez le développement d'applications Web avec Spring Boot
[Rails 5] Créer une nouvelle application avec Rails [Débutant]
Créez un projet Spring Boot avec intellij et quittez immédiatement après le lancement
[Java] Créez un fichier jar compressé et non compressé avec la commande jar
Étapes pour créer une application chameau simple avec les démarreurs Apache Camel Spring Boot
Exécuter un projet Spring Boot avec VS Code
Créez une application Spring Boot à l'aide d'IntelliJ IDEA
Créez des projets Spring Boot par environnement avec Gradle
Conseils Java - Créez un projet Spring Boot avec Gradle
Créez une application CRUD avec Spring Boot 2 + Thymeleaf + MyBatis
Créer une carte multi-touches avec une bibliothèque standard
Créez votre propre utilitaire avec Thymeleaf avec Spring Boot
Créer un environnement Spring Boot avec Windows + VS Code
Afficher la tâche Gradle dans le projet Spring Boot
Créez un serveur Spring Cloud Config en toute sécurité avec Spring Boot 2.0
De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code
Jusqu'à ce que vous créiez un projet Spring Boot dans Intellij et que vous le transmettiez à Github
Créez une application Web parfaitement adaptée à l'apprentissage [Spring Boot + Thymeleaf + PostgreSQL]
Lors du téléchargement d'un fichier avec Spring Boot, la gestion des erreurs est effectuée lorsque la taille maximale du fichier est dépassée.
Commande Docker pour créer un projet Rails avec un seul coup dans l'environnement sans Ruby
Créez un fichier Jar avec deux lignes de commande
Accédez au h2db intégré de Spring Boot avec jdbcTemplate
[Compatible JUnit 5] Ecrire un test en utilisant JUnit 5 avec Spring boot 2.2, 2.3
Créez une application de chat avec WebSocket (Tyrus) + libGDX + Kotlin
Implémentez une API Rest simple avec Spring Security avec Spring Boot 2.0
[JUnit 5] Ecrivez un test de validation avec Spring Boot! [Test de paramétrage]
Un mémorandum lors de la création d'un service REST avec Spring Boot
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 1
Déployer le projet Spring Boot sur Tomcat dans XAMPP
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 2
J'ai écrit un test avec Spring Boot + JUnit 5 maintenant
Hello World (application console) avec Apache Camel + Spring Boot 2
Télécharger avec Spring Boot
Jusqu'à ce que vous construisiez un projet écrit scala avec Maven et que vous l'exécutiez avec la commande scala.
J'ai essayé de créer un environnement de développement java8 avec Chocolatey
Changez la cible d'injection pour chaque environnement avec Spring Boot 2
Créez une image Docker avec le JDK Oracle installé (miam