Spring uygulamasının başlatılması Adres zaten kullanımda


98

Bahar uygulamamı başlatırken şu hatayı alıyorum:

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

Sanırım bunun nedeni benim portumun kullanılması. 8080 numaralı bağlantı noktam kullanıldı, bu nedenle 8181 numaralı bağlantı noktasını deniyorum 8181 numaralı bağlantı noktasında uygulama yok

tomcat server.xml'de bağlantı noktasını 8181 olarak ayarladım ancak sorun devam ediyor

Bu gönderiyi buluyorum:

Maven ile başlarken Tomcat için alternatif bağlantı noktası (8080 değil)?

Ancak mvn -Dmaven.tomcat.port = 8181 tomcat: run-war'ı başlattıktan sonra aynı sorunu yaşıyorum

Maven'in tomcat sunucusuna nasıl bağlı olduğunu gerçekten anlamıyorum Bu benim 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>

Yardımınız için teşekkürler


Öncelikle, bu bağlantı noktalarının başlangıçta 'gerçekten' kullanılabilir olduğundan emin olun. Şimdi, bir * Unix sistemi kullandığınızı tahmin ediyorum (yol sınırlayıcıdan tahmin ediyorum), terminalinizi açın ve netstat -tuplenilgili işlem kimliklerine sahip kullanılan bağlantı noktalarının tam listesini almak için çalıştırın . Tomcat'i başlatmadan önce bağlantı noktalarının boş olup olmadığını buradan doğrulayın
Saif Asif

Evet, 8181 numaralı bağlantı noktam ücretsiz
Ajouve

1
varsayılan bağlantı noktasının (8080) çalışıp çalışmadığını kontrol edin. Windows'ta> netstat -a -o -n kullanın ve ardından bağlantı noktanızın çalışıp çalışmadığını arayın .... çalışıyorsa ona karşılık gelen pid'i not edin. taskkill / f / pid {pidno}
Sagar Rout

Ayrıca yapılandırma dosyasındaki yanlış IP bu istisnaya neden olur.
Xaqron

Yanıtlar:


109

Spring Boot varsayılan olarak yerleşik Tomcat'i kullanır, ancak kullanmadan farklı şekilde işler tomcat-maven-plugin. Bağlantı noktasını değiştirmek --server.portiçin, örneğin parametreyi kullanın :

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

Güncelle . Alternatif server.port=8181olarak application.properties(veya application.yml) içine koyun .


2
Konfigürasyonlarda ayarlamak mümkün mü? Örneğin ek açıklama kullanmak?
Daniil Shevelev

66
server.port=8181Application.properties dosyanıza koymak da işe yaramalıdır.
Marcin Zajączkowski

Temizlemeyi ve inşa etmeyi unutmayın ... bu da yardımcı olur
cheenbabes

4
Application.properties dosyası için daha iyi bir seçenek, geçersiz kılma özelliğine sahip bir varsayılanı eklemektir server.port = $ {port: 8181}
Shawn Vader

1
Çok teşekkürler dostum !! Bütün gün bu çözümü aradım ve --server.port = 8181 ekledikten sonra çözüldü. teşekkürler
gsiradze

49

Bağlantı noktasını kullanan işlemi aramak için aşağıdaki komutu çalıştırın.

lsof -i :<portNumber> | grep LISTEN

senin durumunda bu ->

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

78960 işlem kimliğidir, işlemi sonlandırmak için aşağıdaki komutu kullanın

kill -9 78960

Uygulamayı tekrar başlatın.


1
Mac'imde çalışması için bu komutu kullanmam gerekiyordu: sudo lsof -n -P | grep DİNLE. Mac, sudo kullanırken şifrenizi yazmanızı isteyecektir.
Simon

Cevap için teşekkürler. Yalnızca bu çözüm IntelliJ ile çalışır
AMIC MING

30

/Src/main/resources/application.properties içinde başka bir bağlantı noktası numarasını (örneğin: 8181) yapılandırın

server.port = 8181


@Junchen Lui Bunun nedeni sadece bir geçici çözüm olmasıdır. Bunu her zaman yaparsanız, çok sayıda kullanılmamış erkek kediniz çalışır. Hatayı ilk etapta daha iyi düzeltin.
Stimpson Cat

dam, bu gerçekten herhangi bir xml veya kurulum projecto yapılandırmadan çalışıyor
diego matos - keke


4

IntelliJ kullanarak, halihazırda çalışan bir uygulama varken bir Spring uygulamasını çalıştırmayı denediğimde bu hatayı aldım. İlkini durdurmak zorunda kaldım. Bundan sonra, ikinci uygulamayı çalıştırmak herhangi bir hata vermedi.


4

Spring Tool Suite ve uygulamayı durdur düğmesinin görüntüsü

Benim durumumda sunucular penceresine baktığımda sadece bu proje için hiç kullanmadığım bir tomcat sunucusu gösteriliyordu. SpringBoot projem gömülü bir tomcat sunucusu kullandı ve uygulamam bittiğinde durmadı. Kırmızı bir okla belirttiğim bu düğme, uygulamayı ve Tomcat sunucusunu durduracak, bu nedenle uygulamayı bir dahaki sefer çalıştırdığımda, bir Tomcat Örneği'nin 8080 bağlantı noktasında zaten çalıştığı hatasını almayacağım.

gerçek hata mesajları:

Bağlayıcının yapılandırmasını doğrulayın, 8080 numaralı bağlantı noktasında dinleyen herhangi bir işlemi tanımlayın ve durdurun veya bu uygulamayı başka bir bağlantı noktasında dinleyecek şekilde yapılandırın.

Nedeni: java.net.BindException: Adres zaten kullanımda Neden: org.apache.catalina.LifecycleException: service.getName (): "Tomcat"; Protokol işleyici başlatılamadı

Şimdi bu eğiticide https://spring.io/guides/gs/consuming-rest/ SpringBoot Consuming Rest uygulamamı tamamladıktan sonra tüm hizmetleri kapatmanın bir yolunu arayacağım.

yaylı bot


3

önce 8080 numaralı bağlantı noktasını kimin kullandığını kontrol edin.

8080 bağlantı noktası kullanımdaysa, dinleme bağlantı noktasını 8181 olarak değiştirin.

IDEA kullanıyorsanız, başlangıç ​​konfigürasyonunu değiştirin, Çalıştır-> Konfigürasyonu Düzenle buraya resim açıklamasını girin

mvn yaylı önyükleme kullanıyorsanız, şu komutu kullanın:

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

java -jar kullanıyorsanız şu komutu kullanın:

java -jar xxxx.jar --server.port=8181

2

Bu benim için yalnızca ek özellikler ayarlayarak ve aşağıdaki gibi mevcut isteğe bağlı bağlantı noktası numaralarını kullanarak işe yaradı:

  • YML

/src/main/resources/application.yml

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

/src/main/resources/application.properties

server.port=18181
management.port=9191
tomcat.jvmroute=5478
tomcat.ajp.port=4512
tomcat.ajp.redirectPort=1236     

1
Bu benim için çalıştı. Spring boot 2.0.3.RELEASE'de management.portanahtarın yerini alır management.server.port.
biniam

tomcat.jvmroute = 5478, uygulamanın iki örneğini server.port ile birlikte çalıştırmama yardımcı oldu = 18181
Ritesh K

2

Port numarasını öldürmenizi öneririm. Benim için çalıştı

netstat -ano | findstr :yourPortNumber taskkill /PID typeyourPIDhere /F

2

Senin içinde application.properties dosyası -

/ src / main / kaynaklar / application.properties

Bağlantı noktası numarasını şunun gibi değiştirin -

server.port = 8181

Alternatif olarak, jar dosyanızı çalıştırırken alternatif bağlantı noktası numarası da sağlayabilirsiniz - java -jar resource-server / build / libs / resource-server.jar --server.port = 8888


2

IDE /src/main/resources/application.properties içinde başka bir bağlantı noktası numarası yapılandırabilirsiniz

server.port = 8081

aksi takdirde IDE konsolu sekmesine sağ tıklayın ve Tümünün Sonlandır / Bağlantılarını Kes öğesini seçin


2

Bu hata, temel olarak belirli bağlantı noktası boş olmadığında ortaya çıkar. Yani iki çözüm var, o portu kullanan servisi kapatarak veya kapatarak serbest bırakabilirsiniz veya uygulamanızı (tomcat) farklı bir port üzerinde çalıştırabilirsiniz.

1.Çözüm: Bağlantı noktasını boşaltın

Bir Linux makinesinde, bağlantı noktası tüketicisinin işlem kimliğini bulabilir ve sonra onu öldürebilirsiniz. Aşağıdaki komutu kullanın (varsayılan bağlantı noktasının 8080 olduğu varsayılır)

netstat -pnltu | grep -i "8080"

Yukarıda bahsedilen komutun çıktısı aşağıdaki gibi olacaktır:

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

Ardından, işlem kimliği ile işlemi kolayca öldürebilirsiniz:

kill 20674

Bir Windows makinesinde bir işlem kimliği kullanımı bulmak için netstat -ano -p tcp |find "8080". İşlemi sonlandırmak için kullanın taskkill /F /PID 1234(1234 yerine kurulan işlem kimliğini girin).

2.Çözüm: Varsayılan bağlantı noktasını değiştirin

Geliştirme sürecinde geliştiriciler, port 8080kolayca değiştirebildiğinizi kullanır . Aşağıdaki spesifikasyonu kullanarak application.propertiesprojenizin dosyasında ( /src/main/resources/application.properties) istediğiniz port numarasını belirtmeniz gerekir :

server.port=8081

.jarDosyayı yürütürken alternatif bir bağlantı noktası numarası da ayarlayabilirsiniz.

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

Lütfen bazen (zorunlu değildir) diğer portları da şu şekilde değiştirmeniz gerektiğine dikkat edin:

management.port=
tomcat.jvmroute=
tomcat.ajp.port=
tomcat.ajp.redirectPort=
etc...

1

Benim durumumda, Oracle TNS Service bir yönetici olarak "netstat - anob" komutunu çalıştırmanın 8080 portunu kullanıyordu. Bu hizmeti durdurmak için Windows başlat menüsünden Kapat Veritabanını kullanmanız yeterli ve SpringBoot uygulamasını sorunsuz bir şekilde başlatabilmiştir.

Ayrıca, 8080 bağlantı noktasını hangi uygulamanın kullandığını bulamazsanız ve sadece SprintBoot uygulamasını çalıştırmak istiyorsanız, Farklı Çalıştır ... seçeneğine tıklayabilir ve VM argümanlarında şunu girin: -Dserver.port = 0 (bu, herhangi bir rastgele seçecektir. kullanılabilir bağlantı noktası) veya aşağıdaki gibi spesifik olabilirsiniz: -Dserver.port = 8081

Umarım yardımcı olur.


-Dserver.port = 0'ı değiştirmeyi denedim ve aynı anda başlatılan iki uygulamayla test ettim. Şimdi ikisi de farklı limanda
açıldı

1

Bunu şu adımları izleyerek çözebilirsiniz:

  1. Çalıştırdığınız projeye sağ tıklayın.
  2. Seçeneklerden Farklı Çalıştır ve Konfigürasyonları Çalıştır seçeneğine tıklayın.
  3. Yeni bir çalıştırma yapılandırması açılacaktır. Altında Bahar Önyükleme Tab için bkz geçersiz kılma özellikleri .
  4. Özellik-değer çiftini olarak server.port=8181veya seçtiğiniz başka bir bağlantı noktasını ekleyin. Bu, 8080 olan varsayılan bağlantı noktasını geçersiz kılacaktır.

1

Bu gerçekten eski bir soru. Belki bu faydalıdır. Başlık probleminize odaklanarak, uygulamalarımı nasıl başlattığım ve sonra onları kolayca kapatabiliyorum. Başlamak istediğiniz her uygulama için bağlantı noktası numarasını yukarıda belirtildiği gibi değiştirin.

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

bu bağımlılığı ekle:

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

Şimdi kolayca şut atabilirsiniz:

curl -X POST localhost:8080/actuator/shutdown

1

Konsola sağ tıklayın ve Terminate / Disconnect All seçeneğine tıklayın.

VEYA

Konsol penceresinin sağ üst köşesindeki 'Seçili konsolu göster' simgesine tıklayın ve bağlantı noktasını sabit tutan konsolu seçin ve sonlandırın.


1

Windows için bir çözüm arıyordum ama bulamadım. Son olarak, bağlantı noktasını kullanan sarkan bir java uygulaması olduğunu anladım. Belki de bahar uygulamasının ilk örneğidir ve süreci sona erdirmiştir.

Microsoft'tan tcpview kullandım . Bilgisayarınızdaki hangi bağlantı noktasını kullanan hizmetleri / uygulamaları gösterir.

görüntü açıklamasını buraya girin

İşlemi bitirebilirsiniz. Ve bitti!


1

Bunun nedeni, bağlantı noktasının zaten arka planda çalışmasıdır, böylece tutulmayı yeniden başlatıp tekrar deneyebilirsiniz. VEYA application.properties dosyasını açın ve 'server.port' değerini başka bir değerle değiştirin, örn: - 8000/8181


0

Uygulamayı kapatın, ardından yeni bir bağlantı noktasına geçtikten sonra yeniden başlatın:

${port:8181}

Kullanılmayan herhangi bir yeni bağlantı noktasını kullanabilirsiniz. Burada 8181 numaralı bağlantı noktasını kullandım.


@Bruce Bu nasıl bir cevap vermeye çalışmaz? Açık bir girişim görüyorum: uygulamayı kapatmak; bağlantı noktasını değiştirmek; ve yeniden başlatılıyor. Tamamen yanlış olabilir, ancak bu bir cevap verme girişimi olmadığı anlamına gelmez.
Geri Al

0

Bu sorunu şu şekilde çözdüm: Tekrar çalıştırmadan önce uygulamayı (Eclipse'de kırmızı kare) durdurarak çözdüm. Durdurmazsanız, uygulama çalışma modunda kalır, bu nedenle bağlantı noktası hala kullanılır.


0

Spring Boot'un web desteği tarafından kullanılan varsayılan bağlantı noktası olan 8080 numaralı bağlantı noktasını dinleyen başka bir işleminiz var. Bu işlemi durdurmanız veya uygulamanızı başka bir bağlantı noktasında dinleyecek şekilde yapılandırmanız gerekir.

Src / main / resources / application.properties konumuna server.port = 4040 (örneğin) ekleyerek bağlantı noktası yapılandırmasını değiştirebilirsiniz.


0

Temel olarak varsayılan sunucu genellikle 8080 numaralı bağlantı noktasında arka planda çalışır. Services.msc'yi açın ve tomcat sunucusunu durdurun ve yay önyükleme uygulamasını yeniden çalıştırmayı deneyin.


0

Eclipse'de, Spring Tool Suite yüklüyse, Boot Dashboard'a gidip explorer'da local'ı genişletebilir ve 8080 numaralı bağlantı noktasında çalışan uygulamaya sağ tıklayıp uygulamanızı yeniden çalıştırmadan önce onu durdurabilirsiniz.


0

Aşağıdaki dosyadaki bağlantı noktası numarasını değiştirmeye çalışıyorum - /src/main/resources/application-prod.yml

Ve bu dosyanın içinde şu değişikliği yaptım:

sunucu: bağlantı noktası: 8100 (veya ne istersen)

Umarım bu senin için iyi olur


-1

Aynı sorunu alıyordum, yani protokol işleyici başlatılamadı . Nedeni bağlantı noktası zaten kullanımda . Bağlantı noktasının kullanımda olup olmadığını buldum. Öyleydi. Bu yüzden o bağlantı noktasında çalışan işlemi durdurdum ve ilkbahar önyükleme uygulamamı yeniden başlattım. Ve işe yaradı. :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.