{"id":20714,"date":"2025-08-26T16:55:57","date_gmt":"2025-08-26T19:55:57","guid":{"rendered":"https:\/\/king.host\/wiki\/?post_type=article&#038;p=20714"},"modified":"2025-08-26T16:55:58","modified_gmt":"2025-08-26T19:55:58","slug":"deploy-spring-boot","status":"publish","type":"article","link":"https:\/\/king.host\/wiki\/artigo\/deploy-spring-boot\/","title":{"rendered":"Deploy de aplica\u00e7\u00e3o Spring Boot na KingHost"},"content":{"rendered":"\n<p><em>Possui uma aplica\u00e7\u00e3o Spring Boot e precisa realizar o deploy para a web? Sem problemas! Veja o passo-a-passo neste artigo.<\/em><\/p>\n\n\n\n<p>O <strong>Spring Boot<\/strong> consiste em disponibilizar um template pr\u00e9-configurado para desenvolvimento e execu\u00e7\u00e3o de aplica\u00e7\u00f5es <strong>Spring<\/strong>. Em suma, voc\u00ea consegue escolher os m\u00f3dulos que ser\u00e3o utilizados em seu projeto e, com poucas configura\u00e7\u00f5es r\u00e1pidas, voc\u00ea ter\u00e1 sua aplica\u00e7\u00e3o arquitetada e com os recursos necess\u00e1rios.<\/p>\n\n\n\n<p> Por padr\u00e3o, os projetos em Spring Boot n\u00e3o precisam de um <em>container<\/em> ou servidor para executar as aplica\u00e7\u00f5es. A partir do momento que voc\u00ea realiza o <em>build<\/em> do projeto, \u00e9 gerado um arquivo <strong>.jar<\/strong> que pode ser executado em <em>localhost<\/em>. <\/p>\n\n\n\n<p>Contudo, \u00e9 poss\u00edvel executarmos essas aplica\u00e7\u00f5es em um container da <strong>web<\/strong>, como o <a href=\"http:\/\/tomcat.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Tomcat<\/a>. Para isso, ser\u00e1 necess\u00e1rio gerarmos a <em>build<\/em> do projeto em um arquivo <strong>.war<\/strong>. Neste artigo, iremos abordar os ajustes necess\u00e1rios para que esse processo ocorra corretamente e sem erros pontuais.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/king.host\/?utm_source=wiki&amp;utm_medium=banner-artigo&amp;utm_campaign=banner-artigo-wiki-awareness-deploy-spring-boot\" target=\"_blank\" rel=\"noreferrer noopener\"><img data-original=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2015\/05\/banner_1.png\" alt=\"banner-kinghost\" class=\"wp-image-25436\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Deploy_de_aplicacao_Spring_Boot_na_KingHost\"><\/span> Deploy de aplica\u00e7\u00e3o Spring Boot na KingHost<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Primeiramente, \u00e9 necess\u00e1rio se atentar ao que voc\u00ea precisa ter instalado em seu ambiente:<\/p>\n\n\n\n<ul>\n<li><a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">JDK 1.8<\/a> ou superior;<\/li>\n\n\n\n<li><a href=\"http:\/\/www.gradle.org\/downloads\" target=\"_blank\" rel=\"noreferrer noopener\">Gradle 4+<\/a> ou <a href=\"https:\/\/maven.apache.org\/download.cgi\" target=\"_blank\" rel=\"noreferrer noopener\">Maven 3.2+<\/a>;<\/li>\n\n\n\n<li>Um editor de prefer\u00eancia ou IDE;<\/li>\n\n\n\n<li>Conex\u00e3o com a internet.<\/li>\n<\/ul>\n\n\n\n<p>Com os recursos instalados em seu ambiente local, iremos gerar um <em>setup<\/em> completo do Spring atrav\u00e9s do <a rel=\"noreferrer noopener\" href=\"https:\/\/start.spring.io\" target=\"_blank\">Spring Initializr<\/a>. Neste artigo, utilizaremos o <strong>Maven<\/strong> para o processo de <em>deploy<\/em>, ent\u00e3o selecione <strong>Maven Project<\/strong> e clique em <strong>GENERATE<\/strong>, no rodap\u00e9 da p\u00e1gina. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia.png\" v-on:click=\"toggle_modal\"><img loading=\"lazy\" decoding=\"async\" width=\"1087\" height=\"935\" data-src=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia.png\" alt=\"Iniciando a configura\u00e7\u00e3o do Spring Boot. Selecionando a op\u00e7\u00e3o Maven Project.\" class=\"wp-image-20719 lazyload\" data-srcset=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia.png 1087w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia-300x258.png 300w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia-960x826.png 960w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia-768x661.png 768w\" data-sizes=\"(max-width: 1087px) 100vw, 1087px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1087px; --smush-placeholder-aspect-ratio: 1087\/935;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1087\" height=\"935\" src=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia.png\" alt=\"Iniciando a configura\u00e7\u00e3o do Spring Boot. Selecionando a op\u00e7\u00e3o Maven Project.\" class=\"wp-image-20719\" srcset=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia.png 1087w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia-300x258.png 300w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia-960x826.png 960w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring01-c\u00f3pia-768x661.png 768w\" sizes=\"(max-width: 1087px) 100vw, 1087px\" \/><\/noscript><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Ap\u00f3s o arquivo ser baixado para sua m\u00e1quina, <a rel=\"noreferrer noopener\" href=\"https:\/\/king.host\/wiki\/artigo\/compactar-e-descompactar-arquivos-ssh\/\" target=\"_blank\">descompacte-o<\/a>.<\/p>\n\n\n\n<p>Nesta etapa do processo, precisaremos ajustar alguns detalhes em nossos arquivos do projeto. Em primeira inst\u00e2ncia, vamos ajustar o <strong>packaging<\/strong> em nosso arquivo <strong>pom.xml<\/strong>, deixando da seguinte forma:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\"> &lt;packaging&gt;war&lt;\/packaging&gt;<\/pre>\n\n\n\n<p>Neste mesmo arquivo, valide se a depend\u00eancia <strong>spring-boot-starter-tomcat<\/strong> possui o <strong>&lt;scope&gt;provided&lt;\/scope&gt;<\/strong> definido. Caso n\u00e3o esteja, acrescente-o, mantendo da seguinte forma:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">&lt;dependency&gt;\n   &lt;groupId&gt;\n      org.springframework.boot\n   &lt;\/groupId&gt;\n   &lt;artifactId&gt;\n      spring-boot-starter-tomcat\n   &lt;\/artifactId&gt;\n   <strong>&lt;scope&gt;provided&lt;\/scope&gt;<\/strong>\n&lt;\/dependency&gt;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Os_toques_finais\"><\/span>Os toques finais<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>O \u00faltimo ajuste em nosso projeto ser\u00e1 na <strong>classe principal<\/strong>. Portanto, iremos estender a classe <strong>SpringBootServletInitializer<\/strong>, al\u00e9m de implantar o m\u00e9todo <strong>configure<\/strong>. Veja abaixo: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02.png\" v-on:click=\"toggle_modal\"><img loading=\"lazy\" decoding=\"async\" width=\"1089\" height=\"573\" data-src=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02.png\" alt=\"Configurando a classe SpringBootServletInitializer.\" class=\"wp-image-20727 lazyload\" data-srcset=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02.png 1089w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02-300x158.png 300w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02-960x505.png 960w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02-768x404.png 768w\" data-sizes=\"(max-width: 1089px) 100vw, 1089px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1089px; --smush-placeholder-aspect-ratio: 1089\/573;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"1089\" height=\"573\" src=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02.png\" alt=\"Configurando a classe SpringBootServletInitializer.\" class=\"wp-image-20727\" srcset=\"https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02.png 1089w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02-300x158.png 300w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02-960x505.png 960w, https:\/\/king.host\/wiki\/wp-content\/uploads\/2020\/05\/spring02-768x404.png 768w\" sizes=\"(max-width: 1089px) 100vw, 1089px\" \/><\/noscript><\/a><\/figure>\n\n\n\n<p>Por \u00faltimo, iremos realizar o <em>build<\/em> do projeto com o <strong>Maven<\/strong>. Portanto, acesse a raiz do seu projeto Spring e rode o seguinte comando:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">$ mvn clean package<\/pre>\n\n\n\n<p>Se tudo ocorrer bem, voc\u00ea ter\u00e1 um retorno de sucesso no terminal, al\u00e9m do arquivo <em>.war<\/em> que ser\u00e1 gerado no diret\u00f3rio <strong>target<\/strong>, na raiz da aplica\u00e7\u00e3o.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\" lang=\"wp-block-preformatted\">[INFO] Building war: \/caminho\/para\/app\/target\/<strong>demo-0.0.1-SNAPSHOT.war<\/strong>\n[INFO] Replacing main artifact with repackaged archive\n[INFO] BUILD <strong>SUCCESS<\/strong><\/pre>\n\n\n\n<p>E tudo feito! Agora, basta realizar o <em>deploy<\/em> na KingHost, seguindo <a rel=\"noreferrer noopener\" href=\"https:\/\/king.host\/wiki\/artigo\/como-fazer-o-deploy-de-uma-aplicacao-java\/\" target=\"_blank\">este tutorial<\/a>. \ud83d\ude42<\/p>\n\n\n\n<p><\/p>\n","protected":false},"author":9,"featured_media":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","article-category":[24],"article-tag":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/20714"}],"collection":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/comments?post=20714"}],"version-history":[{"count":3,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/20714\/revisions"}],"predecessor-version":[{"id":26881,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article\/20714\/revisions\/26881"}],"wp:attachment":[{"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/media?parent=20714"}],"wp:term":[{"taxonomy":"article-category","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-category?post=20714"},{"taxonomy":"article-tag","embeddable":true,"href":"https:\/\/king.host\/wiki\/wp-json\/wp\/v2\/article-tag?post=20714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}