Lançando o endereço do aplicativo Spring já em uso

96

Eu tenho este erro ao iniciar meu aplicativo de primavera:

java -jar target/gs-serving-web-content-0.1.0.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::             (v0.5.0.M6)

2013-12-23 00:23:09.466  INFO 19252 --- [           main] hello.Application                        : Starting Application on mbp-de-antoine.home with PID 19252 (/Users/antoine/Documents/workspace-sts-3.4.0.RELEASE/springapp/target/gs-serving-web-content-0.1.0.jar started by antoine)
2013-12-23 00:23:09.511  INFO 19252 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@24024c39: startup date [Mon Dec 23 00:23:09 CET 2013]; root of context hierarchy
2013-12-23 00:23:10.910  INFO 19252 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2013-12-23 00:23:10.910  INFO 19252 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/7.0.42
2013-12-23 00:23:11.045  INFO 19252 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2013-12-23 00:23:11.046  INFO 19252 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1537 ms
2013-12-23 00:23:11.274  INFO 19252 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2013-12-23 00:23:11.274  INFO 19252 --- [ost-startStop-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2013-12-23 00:23:11.409  INFO 19252 --- [ost-startStop-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2013-12-23 00:23:11.634  INFO 19252 --- [ost-startStop-1] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/greeting],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String hello.GreetingController.greeting(java.lang.String,org.springframework.ui.Model)
2013-12-23 00:23:11.717  INFO 19252 --- [ost-startStop-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2013-12-23 00:23:11.717  INFO 19252 --- [ost-startStop-1] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2013-12-23 00:23:12.406  INFO 19252 --- [ost-startStop-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 1132 ms
2013-12-23 00:23:12.417 ERROR 19252 --- [           main] o.a.coyote.http11.Http11NioProtocol      : Failed to start end point associated with ProtocolHandler ["http-nio-8080"]

java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:444)
    at sun.nio.ch.Net.bind(Net.java:436)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:473)
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:617)
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:444)
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1010)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:459)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:335)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:58)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:53)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:259)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:140)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:135)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:552)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:293)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:749)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:738)
    at hello.Application.main(Application.java:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53)
    at java.lang.Thread.run(Thread.java:744)

2013-12-23 00:23:12.419 ERROR 19252 --- [           main] o.apache.catalina.core.StandardService   : Failed to start connector [Connector[org.apache.coyote.http11.Http11NioProtocol-8080]]

org.apache.catalina.LifecycleException: Failed to start component [Connector[org.apache.coyote.http11.Http11NioProtocol-8080]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:459)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:335)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:58)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:53)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:259)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:140)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:135)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:552)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:293)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:749)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:738)
    at hello.Application.main(Application.java:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.catalina.LifecycleException: service.getName(): "Tomcat";  Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1017)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 24 common frames omitted
Caused by: java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:444)
    at sun.nio.ch.Net.bind(Net.java:436)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:473)
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:617)
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:444)
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1010)
    ... 25 common frames omitted

2013-12-23 00:23:12.420  INFO 19252 --- [           main] o.apache.catalina.core.StandardService   : Stopping service Tomcat
2013-12-23 00:23:12.430  INFO 19252 --- [           main] nitializer$AutoConfigurationReportLogger : 


=========================
AUTO-CONFIGURATION REPORT
=========================


Positive matches:
-----------------

   MessageSourceAutoConfiguration
      - @ConditionalOnMissingBean (types: org.springframework.context.MessageSource; SearchStrategy: all) found no beans (OnBeanCondition)

   PropertyPlaceholderAutoConfiguration#propertySourcesPlaceholderConfigurer
      - @ConditionalOnMissingBean (types: org.springframework.context.support.PropertySourcesPlaceholderConfigurer; SearchStrategy: current) found no beans (OnBeanCondition)

   ThymeleafAutoConfiguration
      - @ConditionalOnClass classes found: org.thymeleaf.spring3.SpringTemplateEngine (OnClassCondition)
      - @ConditionalOnClass classes found: org.thymeleaf.spring3.SpringTemplateEngine (OnClassCondition)

   ThymeleafAutoConfiguration.DefaultTemplateResolverConfiguration
      - @ConditionalOnMissingBean (names: defaultTemplateResolver; SearchStrategy: all) found no beans (OnBeanCondition)

   ThymeleafAutoConfiguration.ThymeleafDefaultConfiguration
      - @ConditionalOnMissingBean (types: org.thymeleaf.spring3.SpringTemplateEngine; SearchStrategy: all) found no beans (OnBeanCondition)

   ThymeleafAutoConfiguration.ThymeleafViewResolverConfiguration
      - @ConditionalOnClass classes found: javax.servlet.Servlet (OnClassCondition)
      - @ConditionalOnClass classes found: javax.servlet.Servlet (OnClassCondition)

   ThymeleafAutoConfiguration.ThymeleafViewResolverConfiguration#thymeleafViewResolver
      - @ConditionalOnMissingBean (names: thymeleafViewResolver; SearchStrategy: all) found no beans (OnBeanCondition)

   DispatcherServletAutoConfiguration
      - found web application StandardServletEnvironment (OnWebApplicationCondition)
      - @ConditionalOnClass classes found: org.springframework.web.servlet.DispatcherServlet (OnClassCondition)
      - found web application StandardServletEnvironment (OnWebApplicationCondition)
      - @ConditionalOnClass classes found: org.springframework.web.servlet.DispatcherServlet (OnClassCondition)
      - @ConditionalOnBean (types: org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; SearchStrategy: all) found the following [tomcatEmbeddedServletContainerFactory] (OnBeanCondition)

   DispatcherServletAutoConfiguration#dispatcherServlet
      - no DispatcherServlet found (DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition)

   EmbeddedServletContainerAutoConfiguration
      - found web application StandardServletEnvironment (OnWebApplicationCondition)
      - found web application StandardServletEnvironment (OnWebApplicationCondition)

   EmbeddedServletContainerAutoConfiguration.EmbeddedTomcat
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.apache.catalina.startup.Tomcat (OnClassCondition)
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.apache.catalina.startup.Tomcat (OnClassCondition)
      - @ConditionalOnMissingBean (types: org.springframework.boot.context.embedded.EmbeddedServletContainerFactory; SearchStrategy: current) found no beans (OnBeanCondition)

   ServerPropertiesAutoConfiguration#serverProperties
      - @ConditionalOnMissingBean (types: org.springframework.boot.context.embedded.properties.ServerProperties; SearchStrategy: all) found no beans (OnBeanCondition)

   WebMvcAutoConfiguration
      - found web application StandardServletEnvironment (OnWebApplicationCondition)
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet,org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter (OnClassCondition)
      - found web application StandardServletEnvironment (OnWebApplicationCondition)
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.servlet.DispatcherServlet,org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter (OnClassCondition)
      - @ConditionalOnMissingBean (types: org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; SearchStrategy: all) found no beans (OnBeanCondition)

   WebMvcAutoConfiguration#hiddenHttpMethodFilter
      - @ConditionalOnMissingBean (types: org.springframework.web.filter.HiddenHttpMethodFilter; SearchStrategy: all) found no beans (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#defaultViewResolver
      - @ConditionalOnMissingBean (types: org.springframework.web.servlet.view.InternalResourceViewResolver; SearchStrategy: all) found no beans (OnBeanCondition)


Negative matches:
-----------------

   RabbitAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.amqp.rabbit.core.RabbitTemplate,com.rabbitmq.client.Channel (OnClassCondition)

   AopAutoConfiguration
      - required @ConditionalOnClass classes not found: org.aspectj.lang.annotation.Aspect,org.aspectj.lang.reflect.Advice (OnClassCondition)

   BatchAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.batch.core.launch.JobLauncher (OnClassCondition)

   JpaRepositoriesAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.data.jpa.repository.JpaRepository (OnClassCondition)

   MongoRepositoriesAutoConfiguration
      - required @ConditionalOnClass classes not found: com.mongodb.Mongo,org.springframework.data.mongodb.repository.MongoRepository (OnClassCondition)

   DataSourceAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType (OnClassCondition)

   DataSourceTransactionManagerAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.jdbc.core.JdbcTemplate,org.springframework.transaction.PlatformTransactionManager (OnClassCondition)

   JmsTemplateAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.jms.core.JmsTemplate,javax.jms.ConnectionFactory (OnClassCondition)

   DeviceResolverAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.mobile.device.DeviceResolverHandlerInterceptor,org.springframework.mobile.device.DeviceHandlerMethodArgumentResolver (OnClassCondition)

   HibernateJpaAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean,org.springframework.transaction.annotation.EnableTransactionManagement,javax.persistence.EntityManager,org.hibernate.ejb.HibernateEntityManager (OnClassCondition)

   ReactorAutoConfiguration
      - required @ConditionalOnClass classes not found: reactor.spring.context.config.EnableReactor (OnClassCondition)

   ThymeleafAutoConfiguration.ThymeleafSecurityDialectConfiguration
      - required @ConditionalOnClass classes not found: org.thymeleaf.extras.springsecurity3.dialect.SpringSecurityDialect (OnClassCondition)

   ThymeleafAutoConfiguration.ThymeleafWebLayoutConfiguration
      - required @ConditionalOnClass classes not found: nz.net.ultraq.thymeleaf.LayoutDialect (OnClassCondition)

   EmbeddedServletContainerAutoConfiguration.EmbeddedJetty
      - required @ConditionalOnClass classes not found: org.eclipse.jetty.server.Server,org.eclipse.jetty.util.Loader (OnClassCondition)

   MultipartAutoConfiguration
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver (OnClassCondition)
      - @ConditionalOnClass classes found: javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver (OnClassCondition)
      - @ConditionalOnBean (types: javax.servlet.MultipartConfigElement; SearchStrategy: all) found no beans (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#beanNameViewResolver
      - @ConditionalOnBean (types: org.springframework.web.servlet.View; SearchStrategy: all) found no beans (OnBeanCondition)

   WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter#viewResolver
      - @ConditionalOnBean (types: org.springframework.web.servlet.View; SearchStrategy: all) found no beans (OnBeanCondition)

   WebSocketAutoConfiguration
      - required @ConditionalOnClass classes not found: org.springframework.web.socket.WebSocketHandler (OnClassCondition)



java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embdedded Tomcat
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:138)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:552)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:293)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:749)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:738)
    at hello.Application.main(Application.java:12)
    ... 6 more
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embdedded Tomcat
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:85)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:53)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:259)
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:140)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:135)
    ... 13 more
Caused by: java.lang.IllegalStateException: Tomcat connector in failed state
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:81)
    ... 18 more

Acho que é porque minha porta é usada. Minha porta 8080 é usada, então tento a porta 8181 e não tenho nenhum aplicativo na porta 8181

no tomcat server.xml eu defino a porta para 8181 mas o problema persiste

Eu acho esta postagem:

Porta alternativa para Tomcat (não 8080) ao iniciar com Maven?

Mas eu tenho o mesmo problema depois de lançar mvn -Dmaven.tomcat.port = 8181 tomcat: run-war

Eu realmente não entendo como o maven está vinculado ao servidor tomcat Este é o meu 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>org.springframework</groupId>
    <artifactId>gs-serving-web-content</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>0.5.0.M6</version>
    </parent>

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

    <properties>
        <start-class>hello.Application</start-class>
    </properties>

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

    <repositories>
        <repository>
            <id>spring-milestone</id>
            <url>http://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestone</id>
            <url>http://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>

Obrigado pela ajuda

Ajouve
fonte
Primeiro, certifique-se de que essas portas estejam 'realmente' disponíveis para começar. Agora eu acho que você está usando algum sistema * Unix (estou supondo pelo delimitador de caminho), abra seu terminal e execute netstat -tuplenpara obter uma lista completa de portas usadas com seus respectivos processIDs. Verifique a partir daí se as portas estão livres de usadas antes de iniciar o tomcat
Saif Asif
Sim, minha porta 8181 é gratuita
Ajouve
1
verifique se a porta padrão (8080) está em execução ou não. No Windows, use> netstat -a -o -n e, em seguida, procure sua porta não se está em execução ou não .... se estiver em execução, observe o pid correspondente. taskkill / f / pid {pidno}
Sagar Rout
Além disso, o IP incorreto no arquivo de configuração causa essa exceção.
Xaqron de

Respostas:

107

Spring Boot usa Tomcat embutido por padrão, mas lida com isso de forma diferente sem usar tomcat-maven-plugin. Para alterar o --server.portparâmetro de uso da porta, por exemplo:

java -jar target/gs-serving-web-content-0.1.0.jar --server.port=8181

Atualize . Alternativamente, coloque server.port=8181em application.properties(ou application.yml).

Marcin Zajączkowski
fonte
2
É possível defini-lo nas configurações? Por exemplo, usando anotação?
Daniil Shevelev
64
Colocar server.port=8181em seu arquivo application.properties também deve funcionar.
Marcin Zajączkowski
Não se esqueça de limpar e construir ... isso também ajuda
cheenbabes
4
Uma opção melhor para o arquivo application.properties é incluir um padrão com a capacidade de substituição server.port = $ {port: 8181}
Shawn Vader
1
Valeu mesmo, cara!! Procurei essa solução o dia todo e depois de adicionar --server.port = 8181 ela resolveu. obrigado
gsiradze
46

Execute o seguinte comando para pesquisar o processo que está usando a porta

lsof -i :<portNumber> | grep LISTEN

no seu caso, será ->

lsof -i :8080 | grep LISTEN
java    78960 xyxss  119u  IPv6 0x6c20d372bc88c27d      0t0  TCP *:8092 (LISTEN)

O 78960 é o id do processo, use o seguinte comando para encerrar o processo

kill -9 78960

Inicie o aplicativo novamente.

Prakash Krishnan
fonte
1
Tive de usar este comando para fazê-lo funcionar no meu mac: sudo lsof -n -P | grep LISTEN. O Mac solicitará que você digite sua senha enquanto usa o sudo.
Simon
Obrigado pela resposta aqui. Apenas esta solução funciona com IntelliJ
AMIC MING
30

Configure outro número de porta (por exemplo: 8181) em /src/main/resources/application.properties

server.port = 8181

Vysakhan Kasthuri
fonte
@Junchen Lui Isso porque é apenas uma solução alternativa. Se você fizer isso o tempo todo, terá muitos gatos não usados ​​correndo. Melhor corrigir o erro em primeiro lugar.
Stimpson Cat
dam, funciona mesmo sem configurar nenhum xml ou setup projecto
diego matos - keke
12

Você precisa parar o servidor antes de reiniciá-lo. Procure o ícone da caixa vermelha ou a exibição do servidor.

Pomagranite
fonte
sim, isso era problema no eclipse. Aqui está como parar o Tomcat no NetBeans: stackoverflow.com/questions/543439/…
Tomasz Mularczyk
4

Usando o IntelliJ, recebi este erro quando tentei executar um aplicativo Spring enquanto já havia um aplicativo em execução. Eu tive que parar o primeiro. Depois disso, a execução do segundo aplicativo não retornou nenhum erro.

vovahost
fonte
4

imagem do Spring Tool Suite e botão de parar aplicativo

No meu caso, olhando na janela de servidores, só vi um servidor tomcat que eu nunca tinha usado para este projeto. Meu projeto SpringBoot usou um servidor Tomcat integrado e não parou quando meu aplicativo terminou. Este botão que indico com uma seta vermelha irá parar o aplicativo e o servidor Tomcat para que da próxima vez que eu executar o aplicativo não receba o erro de que uma instância do Tomcat já está em execução na porta 8080.

mensagens de erro reais:

Verifique a configuração do conector, identifique e interrompa qualquer processo que esteja escutando na porta 8080 ou configure este aplicativo para escutar em outra porta.

Causado por: java.net.BindException: Endereço já em uso Causado por: org.apache.catalina.LifecycleException: service.getName (): "Tomcat"; O início do manipulador de protocolo falhou

Agora irei procurar uma maneira de desligar todos os serviços na conclusão do meu aplicativo SpringBoot Consuming Rest neste tutorial https://spring.io/guides/gs/consuming-rest/

bota de mola

JesseBoyd
fonte
3

primeiro, verifique quem usa a porta 8080.

se a porta 8080 estiver em uso, altere a porta de escuta para 8181.

se você usar o IDEA, modifique a configuração inicial, Executar-> Editar Configuração insira a descrição da imagem aqui

se você usar mvn spring-boot, use o comando:

mvn spring-boot:run -Dserver.port=8181

se você usar java -jar, use o comando:

java -jar xxxx.jar --server.port=8181
implorando
fonte
2

Isso só funcionou para mim definindo propriedades adicionais e usando números de porta arbitrários disponíveis, como este:

  • YML

/src/main/resources/application.yml

server:
  port: 18181
management:
  port: 9191
tomcat:
  jvmroute: 5478
  ajp:
    port: 4512
    redirectPort: 1236
  • Propriedades

/src/main/resources/application.properties

server.port=18181
management.port=9191
tomcat.jvmroute=5478
tomcat.ajp.port=4512
tomcat.ajp.redirectPort=1236     
emecas
fonte
1
Isso funcionou para mim. No Spring boot 2.0.3.RELEASE, a management.portchave é substituída por management.server.port.
biniam
tomcat.jvmroute = 5478 me ajudou a executar duas instâncias do aplicativo junto com server.port = 18181
Ritesh K
2

Eu sugeriria matar o número da porta. Funcionou para mim

netstat -ano | findstr :yourPortNumber taskkill /PID typeyourPIDhere /F
Aditya Raj
fonte
2

Em seu arquivo application.properties -

/ src / main / resources / application.properties

Altere o número da porta para algo assim -

server.port = 8181

Ou, alternativamente, você pode fornecer um número de porta alternativo ao executar seu arquivo jar - java -jar resource-server / build / libs / resource-server.jar --server.port = 8888

vikash singh
fonte
2

você pode configurar outro número de porta em seu IDE /src/main/resources/application.properties

server.port = 8081

caso contrário, clique com o botão direito na guia do console IDE e selecione Terminate / Disconnect All

Malith Vitha
fonte
1

No meu caso, o serviço Oracle TNS estava usando a porta 8080, descobri que usando o comando "netstat - anob" como administrador. Simplesmente use o Shutdown Database no menu Iniciar do Windows para interromper esse serviço e inicie o aplicativo SpringBoot sem problemas.

Além disso, se você não conseguir descobrir qual aplicativo está usando a porta 8080 e apenas quiser executar o aplicativo SprintBoot, você pode clicar em Executar como ... e nos argumentos da VM inserir: -Dserver.port = 0 (isso selecionará qualquer porta disponível) ou você pode ser específico como: -Dserver.port = 8081

Espero que ajude.

MAB
fonte
Tentei mudar meu -Dserver.port = 0 e testei com dois aplicativos, iniciados ao mesmo tempo. Agora ambos abrem em uma porta diferente
hnahak
1

Você pode resolver isso seguindo estas etapas:

  1. Clique com o botão direito no projeto que você está executando.
  2. Clique em Executar como e em Executar configurações na opção.
  3. Uma nova configuração de execução será aberta. Na guia Spring Boot, consulte as propriedades de substituição .
  4. Adicione o par propriedade-valor como server.port=8181ou qualquer outra porta de sua escolha. Isso substituirá a porta padrão que é 8080
Ripudaman Singh
fonte
1

É uma questão muito antiga. Talvez isso seja útil. Concentrando-se em seu problema de título, é como eu inicio meus aplicativos e então posso facilmente encerrá-los. Altere o número da porta para cada aplicativo que deseja iniciar conforme mencionado acima.

application.properties

#using curl -X POST localhost:8080/actuator/shutdown to avoid:
#netstat -ano | find "8080"
#taskkill /F /PID xxxx (xxxx stands for PID)
management.endpoints.web.exposure.include=*
management.endpoint.shutdown.enabled=true
endpoints.shutdown.enabled=true

adicione esta dependência:

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

Agora você pode derrubar facilmente

curl -X POST localhost:8080/actuator/shutdown
Jim C
fonte
1

Clique com o botão direito no console e clique na opção Terminate / Disconnect All.

OU

Clique no ícone 'Exibir console selecionado' no canto superior direito da janela do console e escolha e encerre o console que mantém a porta parada.

Nagaraj Pattar
fonte
1

Este erro ocorre basicamente quando a porta específica não está livre. Portanto, há duas soluções, você pode liberar essa porta eliminando ou fechando o serviço que a está usando ou pode executar seu aplicativo (tomcat) em uma porta diferente.

Solução 1: Liberte a porta

Em uma máquina Linux, você pode encontrar o ID do processo do consumidor do port e, em seguida, eliminá-lo. Use o seguinte comando (presume-se que a porta padrão seja 8080)

netstat -pnltu | grep -i "8080"

A saída do comando mencionado acima seria algo como:

tcp6   0  0 :::8080    :::*      LISTEN      20674/java 

Então, você pode encerrar facilmente o processo com seu ID de processo:

kill 20674

Em uma máquina Windows para encontrar um uso de processid netstat -ano -p tcp |find "8080". Para eliminar o uso do processo taskkill /F /PID 1234(em vez de 1234, insira o processid fundado).

Solução 2: alterar a porta padrão

No processo de desenvolvimento, os desenvolvedores usam o port 8080que você pode alterar facilmente. Você precisa especificar o número da porta desejada no application.propertiesarquivo do seu projeto ( /src/main/resources/application.properties) usando a seguinte especificação:

server.port=8081

Você também pode definir um número de porta alternativo enquanto executa o .jararquivo

- java -jar spring-boot-application.jar --server.port=8081

Observe que às vezes (não necessariamente) você precisa alterar outras portas também, como:

management.port=
tomcat.jvmroute=
tomcat.ajp.port=
tomcat.ajp.redirectPort=
etc...
Elyas Hadizadeh
fonte
1

Isso ocorre porque a porta já está sendo executada em segundo plano. Portanto, você pode reiniciar o eclipse e tentar novamente. OU abra o arquivo application.properties e altere o valor de 'server.port' para algum outro valor como ex: - 8000/8181

Ribin
fonte
0

Feche o aplicativo e reinicie-o após mudar para uma nova porta:

${port:8181}

Você pode usar qualquer nova porta não utilizada. Aqui, usei a porta 8181.

Patan Khan
fonte
@Bruce Como isso não tenta fornecer uma resposta? Vejo uma tentativa clara: fechar o aplicativo; mudar a porta; e reiniciá-lo. Pode estar completamente errado, mas isso não significa que não seja uma tentativa de responder.
Desfazer
0

Resolvi esse problema, parando o aplicativo (quadrado vermelho no Eclipse) antes de executar novamente. Se você não interromper, o aplicativo permanecerá no modo de execução, então a porta ainda será usada.

Omar B.
fonte
0

Você tem outro processo que está escutando na porta 8080, que é a porta padrão usada pelo suporte da Web do Spring Boot. Você precisa interromper esse processo ou configurar seu aplicativo para escutar em outra porta.

Você pode alterar a configuração da porta adicionando server.port = 4040 (por exemplo) a src / main / resources / application.properties

Krishna
fonte
0

Basicamente, o servidor padrão geralmente é executado em segundo plano na porta 8080. Abra services.msc e pare o servidor tomcat e tente executar o aplicativo de boot de primavera novamente.

Varuag
fonte
0

No Eclipse, se o Spring Tool Suite estiver instalado, você pode ir para Boot Dashboard e expandir localmente no explorer e clicar com o botão direito no aplicativo que está sendo executado na porta 8080 e interrompê-lo antes de executar o aplicativo novamente.

karthi
fonte
0

Tento alterar o número da porta no seguinte arquivo - /src/main/resources/application-prod.yml

E dentro desse arquivo eu fiz esta alteração:

servidor: porta: 8100 (ou o que você quiser)

Espero que funcione bem para você

Jonan87
fonte
0

Procurava uma solução para Windows mas não encontrei nenhuma. Finalmente, descobri que existe um aplicativo java pendurado usando a porta. Talvez seja a instância anterior do aplicativo Spring e encerrou o processo.

Usei o tcpview da Microsoft . Mostra serviços / aplicativos usando qual porta em seu computador.

insira a descrição da imagem aqui

Você pode encerrar o processo. E feito!

Shivam Agarwal
fonte
-1

Eu estava tendo o mesmo problema, ou seja , a inicialização do manipulador de protocolo falhou . Porque a porta já está em uso . Eu descobri se a porta estava em uso ou não. Isso foi. Então, eliminei o processo que estava em execução naquela porta e reiniciei meu aplicativo de inicialização do Spring. E funcionou. :)

spiderohara
fonte