Mam ten błąd podczas uruchamiania mojej aplikacji wiosennej:
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
Myślę, że dzieje się tak, ponieważ mój port jest używany. Mój port 8080 jest używany, więc próbuję port 8181. Nie mam aplikacji na porcie 8181
w tomcat server.xml ustawiłem port na 8181, ale problem nadal występuje
Znajduję ten post:
Alternatywny port dla Tomcat (nie 8080), gdy zaczynasz od Maven?
Ale mam ten sam problem po uruchomieniu mvn -Dmaven.tomcat.port = 8181 tomcat: run-war
Naprawdę nie rozumiem, jak maven jest połączony z serwerem tomcat. To jest mój 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>
Dzięki za pomoc
netstat -tuplen
aby uzyskać pełną listę używanych portów z ich odpowiednimi identyfikatorami procesów. Sprawdź stamtąd, czy porty są wolne przed uruchomieniem tomcatOdpowiedzi:
Spring Boot domyślnie używa wbudowanego Tomcata, ale obsługuje go inaczej bez użycia
tomcat-maven-plugin
. Aby zmienić--server.port
parametr użycia portu , na przykład:java -jar target/gs-serving-web-content-0.1.0.jar --server.port=8181
Aktualizuj . Alternatywnie włóż
server.port=8181
doapplication.properties
(lubapplication.yml
).źródło
server.port=8181
w pliku application.properties również powinno działać.Uruchom następującą komendę, aby wyszukać proces korzystający z portu
lsof -i :<portNumber> | grep LISTEN
w twoim przypadku będzie to ->
lsof -i :8080 | grep LISTEN java 78960 xyxss 119u IPv6 0x6c20d372bc88c27d 0t0 TCP *:8092 (LISTEN)
78960 to identyfikator procesu, użyj następującego polecenia, aby zabić proces
kill -9 78960
Uruchom ponownie aplikację.
źródło
Skonfiguruj inny numer portu (np .: 8181) w /src/main/resources/application.properties
źródło
Musisz zatrzymać serwer przed ponownym uruchomieniem. Poszukaj ikony czerwonego pola lub widoku serwera.
źródło
Korzystając z IntelliJ, otrzymałem ten błąd, gdy próbowałem uruchomić aplikację Spring, gdy była już uruchomiona jedna aplikacja. Pierwszego musiałem przerwać. Po tym uruchomienie drugiej aplikacji nie zwróciło żadnych błędów.
źródło
W moim przypadku patrząc w okno serwerów pokazałem tylko serwer tomcat, którego nigdy nie użyłem w tym projekcie. Mój projekt SpringBoot wykorzystywał wbudowany serwer Tomcat i nie zatrzymywał się po zakończeniu pracy mojej aplikacji. Ten przycisk, który wskazuję czerwoną strzałką, zatrzyma aplikację i serwer Tomcat, więc następnym razem, gdy uruchomię aplikację, nie otrzymam błędu, że Instancja Tomcat już działa na porcie 8080.
aktualne komunikaty o błędach:
Będę teraz szukał sposobu na zamknięcie wszystkich usług po zakończeniu mojej aplikacji SpringBoot Consuming Rest w tym samouczku https://spring.io/guides/gs/consuming-rest/
buty sprężynowe
źródło
najpierw sprawdź, kto używa portu 8080.
jeśli port 8080 jest używany, zmień port nasłuchiwania na 8181.
jeśli używasz IDEA, zmień konfigurację początkową, Uruchom-> Edytuj konfigurację wprowadź tutaj opis obrazu
jeśli używasz spring-boot mvn, użyj polecenia:
mvn spring-boot:run -Dserver.port=8181
jeśli używasz java -jar, użyj polecenia:
java -jar xxxx.jar --server.port=8181
źródło
Działało to tylko dla mnie, ustawiając dodatkowe właściwości i używając dostępnych dowolnych numerów portów, na przykład:
/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
źródło
management.port
klucz jest zastępowanymanagement.server.port
.Sugerowałbym zabicie numeru portu. U mnie to zadziałało
netstat -ano | findstr :yourPortNumber taskkill /PID typeyourPIDhere /F
źródło
W pliku application.properties -
/ src / main / resources / application.properties
Zmień numer portu na podobny do tego -
server.port = 8181
Alternatywnie możesz podać alternatywny numer portu podczas wykonywania pliku jar - java -jar resource-server / build / libs / resource-server.jar --server.port = 8888
źródło
możesz skonfigurować inny numer portu w swoim IDE /src/main/resources/application.properties
server.port = 8081
w przeciwnym razie kliknij prawym przyciskiem myszy kartę konsoli IDE i wybierz Zakończ / Rozłącz wszystko
źródło
Ten błąd zasadniczo występuje, gdy określony port nie jest wolny. Są więc dwa rozwiązania, możesz zwolnić ten port, zabijając lub zamykając usługę, która go używa, lub możesz uruchomić aplikację (tomcat) na innym porcie.
Rozwiązanie 1: Zwolnij port
Na komputerze z systemem Linux możesz znaleźć identyfikator procesu konsumenta portu, a następnie go zabić. Użyj następującego polecenia (przyjmuje się, że domyślny port to 8080)
netstat -pnltu | grep -i "8080"
Wynik powyższego polecenia wyglądałby tak:
tcp6 0 0 :::8080 :::* LISTEN 20674/java
Następnie możesz łatwo zabić proces za pomocą jego identyfikatora procesu:
kill 20674
Na komputerze z systemem Windows, aby znaleźć procesid użycia
netstat -ano -p tcp |find "8080"
. Aby zabić proces użyjtaskkill /F /PID 1234
(zamiast 1234 wpisz założony identyfikator procesu).Rozwiązanie 2: Zmień domyślny port
W procesie rozwoju programiści używają tego
port 8080
, że można to łatwo zmienić. Musisz określić żądany numer portu wapplication.properties
pliku projektu (/src/main/resources/application.properties
), używając następującej specyfikacji:server.port=8081
Możesz również ustawić alternatywny numer portu podczas wykonywania
.jar
pliku- java -jar spring-boot-application.jar --server.port=8081
Zauważ, że czasami (niekoniecznie) musisz zmienić również inne porty, na przykład:
management.port= tomcat.jvmroute= tomcat.ajp.port= tomcat.ajp.redirectPort= etc...
źródło
W moim przypadku usługa Oracle TNS korzystała z portu 8080, stwierdziła, że używając polecenia „netstat - anob” jako administrator. Po prostu skorzystałem z Shutdown Database z menu Start systemu Windows, aby zatrzymać tę usługę i mogłem uruchomić aplikację SpringBoot bez żadnego problemu.
Jeśli nie możesz dowiedzieć się, która aplikacja korzysta z portu 8080 i po prostu chcesz uruchomić aplikację SprintBoot, możesz kliknąć Uruchom jako ... iw argumentach VM wprowadź: -Dserver.port = 0 (wybierze to dowolną losową dostępny port) lub możesz podać konkretny przykład: -Dserver.port = 8081
Mam nadzieję, że to pomoże.
źródło
Możesz rozwiązać ten problem, wykonując następujące kroki:
server.port=8181
lub dowolny inny wybrany port. Spowoduje to zastąpienie domyślnego portu 8080źródło
To naprawdę stare pytanie. Może to jest przydatne. Skupiając się na problemie związanym z tytułem, jest to sposób, w jaki uruchamiam swoje aplikacje, a następnie mogę je łatwo zamknąć. Zmień numer portu dla każdej aplikacji, którą chcesz uruchomić, jak wspomniano powyżej.
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
dodaj tę zależność:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
Teraz możesz łatwo zestrzelić
curl -X POST localhost:8080/actuator/shutdown
źródło
Kliknij prawym przyciskiem myszy w konsoli i kliknij opcję Zakończ / Rozłącz wszystko.
LUB
Kliknij ikonę „Wyświetl wybraną konsolę” w prawym górnym rogu okna konsoli, a następnie wybierz i zakończ konsolę, na której port jest nieruchomy.
źródło
Szukałem rozwiązania dla systemu Windows, ale żadnego nie znalazłem. Wreszcie odkryłem, że istnieje wisząca aplikacja Java korzystająca z tego portu. Może to wcześniejsza instancja aplikacji wiosennej i zakończyła proces.
Użyłem tcpview firmy Microsoft . Pokazuje usługi / aplikacje używające portu na twoim komputerze.
Możesz zakończyć proces. I zrobione!
źródło
Dzieje się tak, ponieważ port już działa w tle, więc możesz ponownie uruchomić zaćmienie i spróbować jeszcze raz. LUB otwórz plik application.properties i zmień wartość „server.port” na inną wartość, na przykład: - 8000/8181
źródło
Zamknij aplikację, a następnie uruchom ją ponownie po zmianie na nowy port:
${port:8181}
Możesz użyć dowolnego nowego nieużywanego portu. Tutaj użyłem portu 8181.
źródło
Rozwiązałem ten problem, zatrzymując aplikację (czerwony kwadrat w Eclipse) przed ponownym uruchomieniem. Jeśli tego nie zatrzymasz, aplikacja pozostanie w trybie pracy, więc port nadal będzie używany.
źródło
Masz inny proces, który nasłuchuje na porcie 8080, który jest domyślnym portem używanym przez obsługę sieci Web Spring Boot. Musisz zatrzymać ten proces lub skonfigurować aplikację do nasłuchiwania na innym porcie.
Możesz zmienić konfigurację portu, dodając server.port = 4040 (na przykład) do src / main / resources / application.properties
źródło
Zasadniczo domyślny serwer zwykle działa w tle na porcie 8080. Otwórz services.msc i zatrzymaj serwer tomcat i spróbuj ponownie uruchomić aplikację rozruchową.
źródło
W Eclipse, jeśli pakiet Spring Tool Suite jest zainstalowany, możesz przejść do Boot Dashboard i rozwinąć lokalną w eksploratorze, kliknąć prawym przyciskiem myszy aplikację, która jest uruchomiona na porcie 8080 i zatrzymać ją przed ponownym uruchomieniem aplikacji.
źródło
Próbuję zmienić numer portu w następującym pliku - /src/main/resources/application-prod.yml
W tym pliku dokonałem tej zmiany:
serwer: port: 8100 (lub jak chcesz)
Mam nadzieję, że to zadziała dobrze
źródło
Otrzymałem ten sam problem, tj . Nie udało się uruchomić programu obsługi protokołu . Ponieważ port jest już używany . Dowiedziałem się, czy port był używany, czy nie. To było. Więc zabiłem proces działający na tym porcie i zrestartowałem moją aplikację rozruchową. I zadziałało. :)
źródło