이미 사용중인 Spring 애플리케이션 주소 시작


97

내 봄 응용 프로그램을 시작하는 동안이 오류가 발생했습니다.

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

내 포트를 사용했기 때문이라고 생각합니다. 내 포트 8080이 사용되었으므로 포트 8181을 시도합니다. 포트 8181에 응용 프로그램이 없습니다.

tomcat server.xml에서 포트를 8181로 설정했지만 문제가 지속됩니다.

이 게시물을 찾습니다.

Maven으로 시작할 때 Tomcat의 대체 포트 (8080이 아님)?

하지만 mvn -Dmaven.tomcat.port = 8181 tomcat : run-war을 시작한 후에도 동일한 문제가 있습니다.

maven이 tomcat 서버에 연결되는 방법을 이해하지 못합니다. 이것은 내 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>

당신의 도움을 주셔서 감사합니다


먼저이 포트가 '정말'사용 가능한지 확인하십시오. 이제 일부 * Unix 시스템 (경로 구분 기호에서 추측)을 사용하고 있다고 생각하고 터미널을 열고 실행 netstat -tuplen하여 해당 프로세스 ID와 함께 사용 된 포트의 전체 목록을 가져옵니다. 포트는 톰캣 시작하기 전에 사용하는 무료입니다 여부를 거기에서 확인
사이프 아시프

예, 내 포트 8181은 무료입니다
Ajouve

1
기본 포트 (8080)가 실행 중인지 확인하십시오. Windows에서> netstat -a -o -n을 사용하고 실행 중인지 여부에 관계없이 포트 번호를 검색합니다 .... 실행중인 경우 해당하는 pid를 기록합니다. taskkill / f / pid {pidno}
Sagar Rout

또한 구성 파일의 잘못된 IP로 인해이 예외가 발생합니다.
Xaqron

답변:


108

Spring Boot는 기본적으로 임베디드 Tomcat을 사용하지만 tomcat-maven-plugin. --server.port예를 들어 포트 사용 매개 변수 를 변경하려면 :

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

업데이트 . 또는 (또는 )에 넣 server.port=8181습니다 .application.propertiesapplication.yml


2
구성에서 설정할 수 있습니까? 예를 들어 주석을 사용합니까?
Daniil Shevelev 2014-06-04

65
server.port=8181application.properties 파일에 넣는 것도 작동합니다.
Marcin Zajączkowski 2014-06-04

또한 도움이 ... 깨끗하고 빌드하는 것을 잊지 마세요
cheenbabes

4
application.properties 파일에 대한 더 나은 옵션은 재정의 능력이있는 기본값을 포함하는 것입니다. server.port = $ {port : 8181}
Shawn Vader

1
고마워요 !! 하루 종일 해당 솔루션을 검색하고 --server.port = 8181을 추가하면 해결되었습니다. 감사합니다
gsiradze 2015-10-26

47

다음 명령을 실행하여 포트를 사용중인 프로세스를 검색하십시오.

lsof -i :<portNumber> | grep LISTEN

귀하의 경우 이것은->

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

78960은 프로세스 ID입니다. 다음 명령을 사용하여 프로세스를 종료하십시오.

kill -9 78960

응용 프로그램을 다시 시작하십시오.


1
이 명령을 사용하여 Mac에서 작동하도록했습니다. sudo lsof -n -P | grep 듣기. Mac은 sudo를 사용할 때 암호를 입력하라는 메시지를 표시합니다.
Simon

여기에 답변 해 주셔서 감사합니다. 이 솔루션 만 IntelliJ
AMIC MING에서

30

/src/main/resources/application.properties 에서 다른 포트 번호 (예 : 8181)를 구성합니다.

server.port = 8181


@Junchen Lui 그것은 단지 해결 방법이기 때문입니다. 이 작업을 항상 수행하면 사용하지 않는 많은 바람둥이가 실행됩니다. 먼저 오류를 수정하는 것이 좋습니다.
Stimpson Cat

댐이 정말 어떤 XML 또는 설치 projecto을 구성하지 않고 작동
디에고 마토스 - ㅋㅋ을


4

IntelliJ를 사용하여 이미 하나의 앱이 실행 중일 때 Spring 앱을 실행하려고 할 때이 오류가 발생했습니다. 나는 첫 번째 것을 멈춰야했다. 그 후 두 번째 앱을 실행해도 오류가 반환되지 않았습니다.


4

Spring Tool Suite 이미지 및 애플리케이션 중지 버튼

제 경우에는 서버 창을 보면이 프로젝트에 사용한 적이없는 바람둥이 서버 만 표시되었습니다. 내 SpringBoot 프로젝트는 임베디드 tomcat 서버를 사용했으며 내 애플리케이션이 완료되었을 때 중지되지 않았습니다. 빨간색 화살표로 표시된이 버튼은 응용 프로그램과 Tomcat 서버를 중지하므로 다음에 응용 프로그램을 실행할 때 Tomcat 인스턴스가 포트 8080에서 이미 실행 중이라는 오류가 표시되지 않습니다.

실제 오류 메시지 :

커넥터의 구성을 확인하고 포트 8080에서 수신하는 프로세스를 식별 및 중지하거나 다른 포트에서 수신하도록이 애플리케이션을 구성하십시오.

원인 : java.net.BindException : 이미 사용중인 주소 원인 : org.apache.catalina.LifecycleException : service.getName () : "Tomcat"; 프로토콜 처리기 시작 실패

이제이 자습서 https://spring.io/guides/gs/consuming-rest/ 에서 SpringBoot Consuming Rest 애플리케이션 완료시 모든 서비스를 종료하는 방법을 살펴볼 것입니다.

봄 장화


3

먼저 포트 8080을 사용하는 사람을 확인하십시오.

포트 8080이 사용중인 경우 청취 포트를 8181로 변경하십시오.

IDEA를 사용하는 경우 시작 구성을 수정하고 실행-> 구성 편집 여기에 이미지 설명을 입력하십시오.

mvn spring-boot를 사용하는 경우 다음 명령을 사용하십시오.

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

java -jar을 사용하는 경우 다음 명령을 사용하십시오.

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

2

이것은 추가 속성을 설정하고 다음과 같이 사용 가능한 임의의 포트 번호를 사용하여 나에게만 효과적이었습니다.

  • YML

/src/main/resources/application.yml

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

/src/main/resources/application.properties

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

1
이것은 나를 위해 일했습니다. Spring boot 2.0.3.RELEASE에서 management.port키는 management.server.port.
biniam

tomcat.jvmroute = 5478은 server.port = 18181
Ritesh K

2

포트 번호를 죽이는 것이 좋습니다. 그것은 나를 위해 일했습니다

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

2

당신에 application.properties의 파일 -

/ src / main / resources / application.properties

포트 번호를 다음과 같이 변경하십시오.

server.port = 8181

또는 jar 파일을 실행하는 동안 대체 포트 번호를 제공 할 수 있습니다 -java -jar resource-server / build / libs / resource-server.jar --server.port = 8888


2

IDE /src/main/resources/application.properties 에서 다른 포트 번호를 구성 할 수 있습니다.

server.port = 8081

그렇지 않으면 IDE 콘솔 탭을 마우스 오른쪽 버튼으로 클릭 하고 Terminate / Disconnect All을 선택합니다.


1

필자의 경우 Oracle TNS Service는 포트 8080을 사용하고 있었는데 "netstat-anob"명령을 관리자로 실행하는 것을 발견했습니다. Windows 시작 메뉴에서 Shutdown Database를 사용하여 해당 서비스를 중지하고 아무런 문제없이 SpringBoot 앱을 시작할 수있었습니다.

또한 어떤 앱이 8080 포트를 사용하고 있는지 알 수없고 SprintBoot 앱을 실행하려는 경우에는 다음으로 실행 ...을 클릭하고 VM 인수에 다음을 입력 할 수 있습니다. -Dserver.port = 0 사용 가능한 포트) 또는 다음과 같이 구체적으로 지정할 수 있습니다. -Dserver.port = 8081

도움이되기를 바랍니다.


내 -Dserver.port = 0 변경을 시도하고 동시에 시작된 두 개의 응용 프로그램으로 테스트했습니다. 이제 둘 다 다른 항구에서 열립니다
hnahak

1

다음 단계에 따라이 문제를 해결할 수 있습니다.

  1. 실행중인 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
  2. 옵션에서 다음 계정으로 실행구성 실행을 클릭하십시오 .
  3. 새 실행 구성이 열립니다. 아래에서 봄 부팅 탭 을 참조 재정의 속성 .
  4. 속성-값 쌍을로 추가 server.port=8181하거나 원하는 다른 포트를 추가합니다. 이것은 8080 인 기본 포트를 재정의합니다.

1

정말 오래된 질문입니다. 아마도 이것은 유용 할 것입니다. 제목 문제에 초점을 맞춰 애플리케이션을 시작하고 쉽게 종료 할 수 있습니다. 위에서 언급 한대로 시작할 각 애플리케이션의 포트 번호를 변경하십시오.

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

이 종속성을 추가하십시오.

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

이제 쉽게

curl -X POST localhost:8080/actuator/shutdown

1

콘솔에서 마우스 오른쪽 버튼을 클릭하고 Terminate / Disconnect All 옵션을 클릭합니다.

또는

콘솔 창의 오른쪽 상단에있는 '선택한 콘솔 표시'아이콘을 클릭하고 포트가 고정 된 콘솔을 선택하고 종료합니다.


1

이 오류는 기본적으로 특정 포트가 사용 가능하지 않을 때 발생합니다. 따라서 두 가지 솔루션이 있습니다. 사용중인 서비스를 종료하거나 닫아 해당 포트를 해제하거나 다른 포트에서 애플리케이션 (tomcat)을 실행할 수 있습니다.

해결 방법 1 : 포트 해제

Linux 시스템에서는 포트 소비자의 프로세스 ID를 찾은 다음 종료 할 수 있습니다. 다음 명령을 사용하십시오 (기본 포트가 8080이라고 가정).

netstat -pnltu | grep -i "8080"

위에서 언급 한 명령의 출력은 다음과 같습니다.

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

그런 다음 processid로 프로세스를 쉽게 종료 할 수 있습니다.

kill 20674

Windows 시스템에서 processid를 찾으려면 netstat -ano -p tcp |find "8080". 프로세스 사용을 종료하려면 taskkill /F /PID 1234(1234 대신 설립 된 프로세스 ID를 입력하십시오).

해결 방법 2 : 기본 포트 변경

개발 과정에서 개발자는 port 8080쉽게 변경할 수 있는를 사용합니다 . 다음 사양을 사용하여 application.properties프로젝트 파일 ( /src/main/resources/application.properties) 에서 원하는 포트 번호를 지정해야합니다 .

server.port=8081

.jar파일 을 실행하는 동안 대체 포트 번호를 설정할 수도 있습니다.

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

때때로 (반드시 그런 것은 아님) 다른 포트도 다음과 같이 변경해야합니다.

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

1

Windows 용 솔루션을 찾고 있었지만 아무것도 찾지 못했습니다. 마지막으로 포트를 사용하는 매달린 자바 애플리케이션이 있음을 알아 냈습니다. 스프링 애플리케이션의 초기 인스턴스 일 수 있으며 프로세스를 종료했습니다.

Microsoft의 tcpview를 사용 했습니다 . 컴퓨터의 어떤 포트를 사용하는 서비스 / 애플리케이션을 보여줍니다.

여기에 이미지 설명 입력

프로세스를 종료 할 수 있습니다. 그리고 끝!


1

포트가 이미 백그라운드에서 실행 중이기 때문에 Eclipse를 다시 시작하고 다시 시도 할 수 있습니다. 또는 application.properties 파일을 열고 'server.port'값을 예 :-8000/8181과 같은 다른 값으로 변경합니다.


0

응용 프로그램을 닫은 다음 새 포트로 변경 한 후 다시 시작합니다.

${port:8181}

사용하지 않는 새 포트를 사용할 수 있습니다. 여기에서는 포트 8181을 사용했습니다.


@Bruce 어떻게 답변을 제공하지 않습니까? 분명한 시도가 있습니다. 응용 프로그램을 닫습니다. 포트 변경; 다시 시작합니다. 완전히 틀렸을 수도 있지만 그렇다고 대답하려는 시도가 아니라는 의미는 아닙니다.
실행 취소

0

다시 실행하기 전에 응용 프로그램 (Eclipse의 빨간색 사각형) 을 중지 하여이 문제를 해결 했습니다. 중지하지 않으면 응용 프로그램이 실행 모드로 유지되므로 포트가 계속 사용됩니다.


0

Spring Boot의 웹 지원에서 사용하는 기본 포트 인 포트 8080에서 수신 대기하는 다른 프로세스가 있습니다. 해당 프로세스를 중지하거나 다른 포트에서 수신하도록 앱을 구성해야합니다.

src / main / resources / application.properties에 server.port = 4040 (예 :) 을 추가하여 포트 구성을 변경할 수 있습니다.


0

기본적으로 기본 서버는 일반적으로 포트 8080에서 백그라운드에서 실행됩니다. services.msc를 열고 tomcat 서버를 중지하고 스프링 부트 애플리케이션을 다시 실행 해보십시오.


0

Eclipse에서 Spring Tool Suite가 설치된 경우 Boot Dashboard 로 이동하여 탐색기에서 로컬을 확장하고 포트 8080에서 실행중인 애플리케이션을 마우스 오른쪽 버튼으로 클릭하고 애플리케이션을 다시 실행하기 전에 중지 할 수 있습니다.


0

다음 파일에서 포트 번호를 변경하려고합니다-/src/main/resources/application-prod.yml

그리고이 파일 내에서 다음과 같이 변경했습니다.

서버 : 포트 : 8100 (또는 원하는대로)

나는 이것이 당신에게 잘 작동하기를 바랍니다.


-1

동일한 문제가 발생 했습니다 . 즉, 프로토콜 처리기 시작이 실패했습니다 . 원인은 포트가 이미 사용 중이기 때문입니다 . 포트가 사용 중인지 확인했습니다. 그랬다. 그래서 해당 포트에서 실행중인 프로세스를 종료하고 스프링 부트 애플리케이션을 다시 시작했습니다. 그리고 그것은 효과가있었습니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.