title: How to debug Springboot "Failed to start bean 'webServerStartStop'... Unable to start embedded Tomcat server on Digital Ocean droplet
body: <p>I'm trying to run a Springboot application with HTTPS enabled on the Digital Ocean droplet. The application ran previously with no issues until a recent restart from the server.</p>
  <p>I keep getting &quot;Failed to start bean 'webServerStartStop'... Unable to start embedded Tomcat server&quot; error.</p>
  <p>How can I start to debug this? I tried to capture the output log from the server in a .txt file, and this is the output.</p>
  <p>Things I have tried:</p>
  <ul>
  <li>Rolling back to a previous app version</li>
  <li>Updating MySQL version</li>
  <li>Updating server</li>
  </ul>
  <p>I'm running:</p>
  <ul>
  <li>Java 11 - jar app</li>
  <li>MySQL v8.0.25 Community Server</li>
  </ul>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>2021-07-09 04:04:37.224 INFO 9278 --- [ task-1] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2021-07-09 04:04:37.238 INFO 9278 --- [ task-1] j.LocalContainerEntityManagerFactoryBean
  : Initialized JPA EntityManagerFactory for persistence unit 'default' 2021-07-09 04:04:40.570 INFO 9278 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: OrRequestMatcher [requestMatchers=[Ant [pattern='/oauth/token'], Ant [pattern='/oauth/token_key'],
  Ant [pattern='/oauth/check_token']]], [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4248b963, org.springframework.security.web.context.SecurityContextPersistenceFilter@1dc76fa1, org.springframework.security.web.header.HeaderWriterFilter@2f508f3c,
  org.springframework.security.web.authentication.logout.LogoutFilter@ad9e63e, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@3abfe845, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@33d53216, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7808f638,
  org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7f08caf, org.springframework.security.web.session.SessionManagementFilter@2459319c, org.springframework.security.web.access.ExceptionTranslationFilter@71f0b72e, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2650f79]
  2021-07-09 04:04:40.607 INFO 9278 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration$NotOAuthRequestMatcher@7be3a9ce, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@37d871c2,
  org.springframework.security.web.context.SecurityContextPersistenceFilter@2c0b4c83, org.springframework.security.web.header.HeaderWriterFilter@4893b344, org.springframework.web.filter.CorsFilter@3baf6936, org.springframework.security.web.authentication.logout.LogoutFilter@3bfc6a5e,
  org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter@62db0521, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@78525ef9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@2d0ecb24,
  org.springframework.security.web.authentication.AnonymousAuthenticationFilter@285f38f6, org.springframework.security.web.session.SessionManagementFilter@53a665ad, org.springframework.security.web.access.ExceptionTranslationFilter@249e0271, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@4acb2510]
  2021-07-09 04:04:40.610 INFO 9278 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@27b2faa6, org.springframework.security.web.context.SecurityContextPersistenceFilter@57c47a9e,
  org.springframework.security.web.header.HeaderWriterFilter@4eed2acf, org.springframework.security.web.authentication.logout.LogoutFilter@61d84e08, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@642505c7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4339e0de,
  org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6428591a, org.springframework.security.web.session.SessionManagementFilter@36fc05ff, org.springframework.security.web.access.ExceptionTranslationFilter@476e8796, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@715d6168]
  2021-07-09 04:04:40.779 WARN 9278 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop';
  nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server 2021-07-09 04:04:40.784 INFO 9278 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence
  unit 'default' 2021-07-09 04:04:40.785 INFO 9278 --- [ main] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down' 2021-07-09 04:04:40.786 DEBUG 9278 --- [ main] org.hibernate.SQL
  : alter table contacts drop foreign key FKna8bddygr3l3kq1imghgcskt8 2021-07-09 04:04:40.808 DEBUG 9278 --- [ main] org.hibernate.SQL : alter table leads drop foreign key FK50ynw1akb9fok4ronueu0efpk 2021-07-09 04:04:40.934 DEBUG 9278 --- [ main] org.hibernate.SQL
  : alter table leads drop foreign key FK10u8b7klywjncgkn7xffx7ncu 2021-07-09 04:04:41.033 DEBUG 9278 --- [ main] org.hibernate.SQL : alter table leads_notes drop foreign key FKhpoad9uf9y5lh6nv7iqb06uk2 2021-07-09 04:04:41.065 DEBUG 9278 --- [ main] org.hibernate.SQL
  : alter table leads_notes drop foreign key FK6tw7yuipyu91x1d4csegdumpt 2021-07-09 04:04:41.093 DEBUG 9278 --- [ main] org.hibernate.SQL : alter table submissions drop foreign key FKpy8k2vjp2ax1glqn4tc77f362 2021-07-09 04:04:41.169 DEBUG 9278 --- [ main]
  org.hibernate.SQL : alter table submissions drop foreign key FKhwyuy355rlq3e0d1lw5nxywum 2021-07-09 04:04:41.196 DEBUG 9278 --- [ main] org.hibernate.SQL : alter table submissions drop foreign key FKhfixvturyi8nqcvr8qbujkmmd 2021-07-09 04:04:41.227 DEBUG
  9278 --- [ main] org.hibernate.SQL : alter table submissions drop foreign key FKaddc6b566b2j07ndp34akltik 2021-07-09 04:04:41.252 DEBUG 9278 --- [ main] org.hibernate.SQL : alter table users drop foreign key FKin8gn4o1hpiwe6qe4ey7ykwq7 2021-07-09 04:04:41.300
  DEBUG 9278 --- [ main] org.hibernate.SQL : alter table users_roles drop foreign key FKa62j07k5mhgifpp955h37ponj 2021-07-09 04:04:41.331 DEBUG 9278 --- [ main] org.hibernate.SQL : alter table users_roles drop foreign key FK2o0jvgh89lemvvo17cbqvdxaa 2021-07-09
  04:04:41.353 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists categories 2021-07-09 04:04:41.361 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists companies 2021-07-09 04:04:41.377 DEBUG 9278 --- [ main] org.hibernate.SQL
  : drop table if exists contacts 2021-07-09 04:04:41.397 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists leads 2021-07-09 04:04:41.446 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists leads_notes 2021-07-09 04:04:41.465 DEBUG
  9278 --- [ main] org.hibernate.SQL : drop table if exists leads_status 2021-07-09 04:04:41.474 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists products 2021-07-09 04:04:41.482 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists
  roles 2021-07-09 04:04:41.493 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists submissions 2021-07-09 04:04:41.503 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists submissions_status 2021-07-09 04:04:41.517 DEBUG 9278 ---
  [ main] org.hibernate.SQL : drop table if exists users 2021-07-09 04:04:41.537 DEBUG 9278 --- [ main] org.hibernate.SQL : drop table if exists users_roles 2021-07-09 04:04:41.560 INFO 9278 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting
  down ExecutorService 'applicationTaskExecutor' 2021-07-09 04:04:41.564 INFO 9278 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2021-07-09 04:04:41.585 INFO 9278 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1
  - Shutdown completed. 2021-07-09 04:04:41.599 INFO 9278 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2021-07-09 04:04:41.636 INFO 9278 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext.
  To display the conditions report re-run your application with 'debug' enabled. 2021-07-09 04:04:41.652 ERROR 9278 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start
  bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:185)
  ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53) ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360)
  ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158) ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122)
  ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:894) ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
  ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758)
  ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
  ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
  ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at com.maxwelton.investorportal.InvestorPortalBackendApplication.main(InvestorPortalBackendApplication.java:10)
  ~[classes!/:0.0.1-SNAPSHOT] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[investor-portal-backend-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:109)
  ~[investor-portal-backend-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[investor-portal-backend-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
  ~[investor-portal-backend-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229)
  ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182)
  ~[spring-context-5.2.6.RELEASE.jar!/:5.2.6.RELEASE] ... 22 common frames omitted Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector(StandardService.java:231) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35]
  at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213)
  ~[spring-boot-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] ... 24 common frames omitted Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1058) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35]
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] ... 26 common
  frames omitted Caused by: java.lang.IllegalArgumentException: None of the [protocols] specified are supported by the SSL engine : [[TSLv1.2]] at org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:151) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35]
  at org.apache.tomcat.util.net.SSLUtilBase.
  &lt;init&gt;(SSLUtilBase.java:109) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.SSLUtilBase.
    &lt;init&gt;(SSLUtilBase.java:83) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.openssl.OpenSSLUtil.
      &lt;init&gt;(OpenSSLUtil.java:42) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.openssl.OpenSSLImplementation.getSSLUtil(OpenSSLImplementation.java:36) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:88)
        ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:216)
        ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1227)
        ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:592) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35] at org.apache.catalina.connector.Connector.startInternal(Connector.java:1055) ~[tomcat-embed-core-9.0.35.jar!/:9.0.35]
        ... 28 common frames omitted</code></pre>
  </div>
  </div>
  </p>
  <p>My DB properties are</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>spring.datasource.url=jdbc:mysql://localhost/db_investor_portal?useLegacyDatetimeCode=false&amp;serverTimezone=UTC&amp;useSSL=true
  spring.datasource.username=**********
  spring.datasource.password=**********
  
  spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
  spring.jpa.hibernate.ddl-auto=create-drop
  
  spring.jackson.serialization.fail-on-empty-beans=false
  logging.level.org.hibernate.SQL=debug
  
  spring.servlet.multipart.max-file-size=10MB
  spring.servlet.multipart.max-request-size=10MB
  
  #SpringBoot SSL configuration for Digital Ocean
  #server.ssl.enabled=true
  #server.port=8443
  #server.ssl.key-store=/etc/letsencrypt/live/*****
  #server.ssl.key-store-password=***********
  #server.ssl.key-store-type=PKCS12
  #server.ssl.protocol=TLS
  #server.ssl.enabled-protocols=TSLv1.2
  #server.ssl.ciphers=TSL_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_GCM_SHA256</code></pre>
  </div>
  </div>
  </p>
  <p>And my pom.xml</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;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"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;parent&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
          &lt;version&gt;2.3.0.RELEASE&lt;/version&gt;
          &lt;relativePath/&gt; &lt;!-- lookup parent from repository --&gt;
      &lt;/parent&gt;
      &lt;groupId&gt;com.maxwelton.investorportal&lt;/groupId&gt;
      &lt;artifactId&gt;investor-portal-backend&lt;/artifactId&gt;
      &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
      &lt;name&gt;investor-portal-backend&lt;/name&gt;
      &lt;packaging&gt;jar&lt;/packaging&gt;
      &lt;description&gt;Backend for MW Investor Portal&lt;/description&gt;
  
      &lt;properties&gt;
          &lt;java.version&gt;1.8&lt;/java.version&gt;
      &lt;/properties&gt;
  
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-devtools&lt;/artifactId&gt;
              &lt;scope&gt;runtime&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;mysql&lt;/groupId&gt;
              &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
              &lt;scope&gt;runtime&lt;/scope&gt;
              &lt;version&gt;8.0.24&lt;/version&gt;&lt;!--$NO-MVN-MAN-VER$--&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-test&lt;/artifactId&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-mail&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;!-- https://mvnrepository.com/artifact/org.springframework.security.oauth/spring-security-oauth2 --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.security.oauth&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-oauth2&lt;/artifactId&gt;
              &lt;version&gt;2.3.5.RELEASE&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-jwt --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-jwt&lt;/artifactId&gt;
              &lt;version&gt;1.0.10.RELEASE&lt;/version&gt;
          &lt;/dependency&gt;       
          &lt;!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.xml.bind&lt;/groupId&gt;
              &lt;artifactId&gt;jaxb-api&lt;/artifactId&gt;
          &lt;/dependency&gt;
          &lt;!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.glassfish.jaxb&lt;/groupId&gt;
              &lt;artifactId&gt;jaxb-runtime&lt;/artifactId&gt;           
          &lt;/dependency&gt;
          &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-tomcat&lt;/artifactId&gt;
            &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
          
      &lt;/dependencies&gt;
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                  &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
                  &lt;configuration&gt;
                      &lt;fork&gt;true&lt;/fork&gt;
                      &lt;mainClass&gt;${start-class}&lt;/mainClass&gt;
                  &lt;/configuration&gt;
                    &lt;executions&gt;
                      &lt;execution&gt;
                        &lt;goals&gt;
                          &lt;goal&gt;repackage&lt;/goal&gt;
                        &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                  &lt;configuration&gt;
                      &lt;source&gt;1.8&lt;/source&gt;
                      &lt;target&gt;1.8&lt;/target&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-assembly-plugin&lt;/artifactId&gt;
                  &lt;configuration&gt;
                      &lt;archive&gt;
                          &lt;manifest&gt;
                              &lt;mainClass&gt;com.maxwelton.investorportal.InvestorPortalBackendApplication&lt;/mainClass&gt;
                          &lt;/manifest&gt;
                      &lt;/archive&gt;
                      &lt;descriptorRefs&gt;
                          &lt;descriptorRef&gt;jar-with-dependencies&lt;/descriptorRef&gt;
                      &lt;/descriptorRefs&gt;
                  &lt;/configuration&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;make-assembly&lt;/id&gt;
                          &lt;phase&gt;package&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;single&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  
  &lt;/project&gt;</code></pre>
  </div>
  </div>
  </p>