Peluncuran Alamat aplikasi Spring sudah digunakan


97

Saya mengalami kesalahan ini saat meluncurkan aplikasi musim semi saya:

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

Saya pikir ini karena port saya digunakan. Porta 8080 saya digunakan jadi saya mencoba port 8181. Saya tidak memiliki aplikasi di port 8181

di server kucing jantan.xml saya mengatur port ke 8181 tetapi masalah tetap ada

Saya menemukan posting ini:

Port alternatif untuk Tomcat (bukan 8080) saat memulai dengan Maven?

Tetapi saya memiliki masalah yang sama setelah meluncurkan mvn -Dmaven.tomcat.port = 8181 tomcat: run-war

Saya tidak benar-benar mengerti bagaimana maven terhubung ke server kucing jantan Ini adalah pom.xml saya

<?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>

Terima kasih atas bantuan Anda


Pertama-tama, pastikan porta ini 'benar-benar' tersedia untuk memulai. Sekarang saya rasa Anda menggunakan beberapa sistem * Unix (saya menebak dari pembatas jalan), buka terminal Anda dan jalankan netstat -tuplenuntuk mendapatkan daftar lengkap port yang digunakan dengan ID proses masing-masing. Verifikasi dari sana apakah port bebas digunakan sebelum memulai tomcat
Saif Asif

Ya port saya 8181 gratis
Ajouve

1
periksa apakah port default (8080) sedang berjalan atau tidak. Di Windows gunakan> netstat -a -o -n dan kemudian cari port Anda no apakah sedang berjalan atau tidak .... jika sedang berjalan maka catat pid yang sesuai. taskkill / f / pid {pidno}
Sagar

Juga IP yang salah dalam file konfigurasi menyebabkan pengecualian ini.
Xaqron

Jawaban:


108

Spring Boot menggunakan Tomcat tertanam secara default, tetapi menanganinya berbeda tanpa menggunakan tomcat-maven-plugin. Untuk mengubah --server.portparameter penggunaan port misalnya:

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

Perbarui . Atau dimasukkan server.port=8181ke application.properties(atau application.yml).


2
Apakah mungkin untuk mengaturnya dalam konfigurasi? Misalnya menggunakan anotasi?
Daniil Shevelev

65
Memasukkan server.port=8181ke file application.properties Anda juga harus berfungsi.
Marcin Zajączkowski

Jangan lupa untuk membersihkan dan membangun ... itu juga membantu
cheenbabes

4
Opsi yang lebih baik untuk file application.properties termasuk default dengan kemampuan override server.port = $ {port: 8181}
Shawn Vader

1
Terima kasih banyak kawan !! Saya telah mencari solusi itu sepanjang hari dan setelah menambahkan --server.port = 8181, solusi itu terpecahkan. terima kasih
gsiradze

47

Jalankan perintah berikut untuk mencari proses yang menggunakan porta

lsof -i :<portNumber> | grep LISTEN

dalam kasus Anda ini akan menjadi ->

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

78960 adalah id proses, gunakan perintah berikut untuk menghentikan proses

kill -9 78960

Luncurkan aplikasi lagi.


1
Saya harus menggunakan perintah ini untuk membuatnya berfungsi di mac saya: sudo lsof -n -P | grep DENGARKAN. Mac akan meminta Anda untuk memasukkan kata sandi saat Anda menggunakan sudo.
Simon

Terima kasih atas Jawabannya di sini. Hanya solusi ini yang bekerja dengan IntelliJ
AMIC MING

30

Konfigurasikan nomor port lain (misalnya: 8181) di /src/main/resources/application.properties

server.port = 8181


@Junchen Lui Itu karena ini hanya solusi. Jika Anda melakukan ini sepanjang waktu, Anda akan memiliki banyak tomcat yang tidak digunakan. Lebih baik perbaiki kesalahan di tempat pertama.
Stimpson Cat

dam, ini benar-benar berfungsi tanpa mengonfigurasi xml atau menyiapkan projecto
diego matos - keke


4

Menggunakan IntelliJ, saya mendapatkan kesalahan ini saat mencoba menjalankan aplikasi Spring saat ada satu aplikasi yang sudah berjalan. Saya harus menghentikan yang pertama. Setelah itu, menjalankan aplikasi kedua tidak mengembalikan kesalahan apa pun.


4

gambar dari Spring Tool Suite dan tombol aplikasi berhenti

Dalam kasus saya, melihat di jendela server hanya menunjukkan server kucing jantan yang tidak pernah saya gunakan untuk proyek ini. Proyek SpringBoot saya menggunakan server tomcat tertanam dan tidak berhenti ketika aplikasi saya selesai. Tombol yang saya tunjukkan dengan panah merah ini akan menghentikan aplikasi dan server Tomcat sehingga lain kali saya menjalankan aplikasi, saya tidak akan mendapatkan kesalahan bahwa Instance Tomcat sudah berjalan pada port 8080.

pesan kesalahan sebenarnya:

Verifikasi konfigurasi konektor, identifikasi dan hentikan proses apa pun yang mendengarkan di port 8080, atau konfigurasikan aplikasi ini untuk mendengarkan di port lain.

Disebabkan oleh: java.net.BindException: Alamat sudah digunakan Disebabkan oleh: org.apache.catalina.LifecycleException: service.getName (): "Tomcat"; Memulai penangan protokol gagal

Sekarang saya akan mencari cara untuk mematikan semua layanan setelah menyelesaikan aplikasi Istirahat Konsumsi SpringBoot saya dalam tutorial ini https://spring.io/guides/gs/consuming-rest/

sepatu bot musim semi


3

pertama, periksa siapa yang menggunakan port 8080.

jika port 8080 sedang digunakan, ubah port mendengarkan ke 8181.

jika Anda menggunakan IDEA, modifikasi konfigurasi awal, Jalankan-> Edit Konfigurasi masukkan deskripsi gambar di sini

jika Anda menggunakan mvn spring-boot, gunakan perintah:

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

jika Anda menggunakan java -jar, gunakan perintah:

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

2

Ini hanya berfungsi untuk saya dengan menyetel properti tambahan dan menggunakan nomor port arbitrer yang tersedia, seperti ini:

  • YML

/src/main/resources/application.yml

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

/src/main/resources/application.properties

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

1
Ini berhasil untuk saya. Di Spring boot 2.0.3. RELEASE, management.portkunci diganti dengan management.server.port.
biniam

tomcat.jvmroute = 5478 membantu saya menjalankan dua contoh aplikasi bersama dengan server.port = 18181
Ritesh K

2

Saya akan menyarankan untuk mematikan nomor port. Itu berhasil untuk saya

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

2

Dalam file application.properties Anda -

/ src / main / resource / application.properties

Ubah nomor port menjadi seperti ini -

server.port = 8181

Atau sebagai alternatif, Anda dapat memberikan nomor port alternatif saat menjalankan file jar Anda - java -jar resource-server / build / libs / resource-server.jar --server.port = 8888


2

Anda dapat mengkonfigurasi nomor port lain di IDE /src/main/resources/application.properties Anda

server.port = 8081

jika tidak, klik kanan pada tab konsol IDE dan pilih Terminate / Disconnect All


1

Dalam kasus saya, Oracle TNS Service menggunakan port 8080, menemukan bahwa menjalankan perintah "netstat - anob" sebagai administrator. Cukup gunakan Shutdown Database dari menu start Windows untuk menghentikan layanan itu dan dapat memulai aplikasi SpringBoot tanpa masalah apa pun.

Juga jika Anda tidak dapat mengetahui aplikasi mana yang menggunakan port 8080 dan hanya ingin menjalankan aplikasi SprintBoot, Anda dapat mengklik Run As ... dan dalam argumen VM masukkan: -Dserver.port = 0 (ini akan memilih sembarang acak tersedia) atau Anda dapat lebih spesifik seperti: -Dserver.port = 8081

Semoga membantu.


Saya mencoba mengubah -Dserver.port = 0 saya dan menguji dengan dua aplikasi, diluncurkan pada waktu yang bersamaan. Sekarang keduanya terbuka di pelabuhan yang berbeda
hnahak

1

Anda dapat menyelesaikan ini dengan mengikuti langkah-langkah berikut:

  1. Klik kanan pada proyek yang Anda jalankan.
  2. Klik Jalankan sebagai dan Jalankan Konfigurasi dari opsi.
  3. Konfigurasi proses baru akan terbuka. Di bawah Spring Boot Tab lihat untuk Override properties .
  4. Tambahkan pasangan properti-nilai sebagai server.port=8181, atau port lain pilihan Anda. Ini akan mengesampingkan port default yaitu 8080

1

Ini pertanyaan yang sangat lama. Mungkin ini berguna. Berfokus pada masalah judul Anda, begitulah cara saya memulai aplikasi saya dan kemudian saya dapat dengan mudah mematikannya. Ubah nomor port untuk setiap aplikasi yang ingin Anda mulai seperti yang disebutkan di atas.

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

tambahkan ketergantungan ini:

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

Sekarang Anda dapat menembak dengan mudah

curl -X POST localhost:8080/actuator/shutdown

1

Klik kanan di konsol dan klik opsi Terminate / Disconnect All.

ATAU

Klik ikon 'Tampilkan konsol yang dipilih' di sudut kanan atas jendela konsol, lalu pilih dan akhiri konsol yang menahan port.


1

Kesalahan ini pada dasarnya terjadi ketika port tertentu tidak gratis. Jadi ada dua solusi, Anda dapat membebaskan port tersebut dengan mematikan atau menutup layanan yang menggunakannya atau Anda dapat menjalankan aplikasi Anda (tomcat) pada port yang berbeda.

Solusi 1: Bebaskan port

Pada mesin Linux Anda dapat menemukan proses-id konsumen port dan kemudian mematikannya. Gunakan perintah berikut (diasumsikan bahwa port default adalah 8080)

netstat -pnltu | grep -i "8080"

Output dari perintah yang disebutkan di atas akan menjadi seperti ini:

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

Kemudian Anda dapat dengan mudah menghentikan proses dengan ID prosesnya:

kill 20674

Pada mesin windows untuk menemukan penggunaan processid netstat -ano -p tcp |find "8080". Untuk menghentikan penggunaan proses taskkill /F /PID 1234(bukan 1234 masukkan id proses yang didirikan).

Solusi 2: Ubah port default

Dalam proses pengembangan, pengembang menggunakan port 8080yang dapat Anda ubah dengan mudah. Anda perlu menentukan nomor port yang Anda inginkan dalam application.propertiesfile proyek Anda ( /src/main/resources/application.properties) dengan menggunakan spesifikasi berikut:

server.port=8081

Anda juga dapat mengatur nomor port alternatif saat menjalankan .jarfile

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

Harap perhatikan bahwa terkadang (tidak harus) Anda harus mengubah port lain juga seperti:

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

1

Saya sedang mencari solusi untuk Windows tetapi tidak menemukannya. Akhirnya, ketahuan bahwa ada aplikasi java yang menjuntai menggunakan port. Mungkin itu contoh aplikasi pegas sebelumnya dan mengakhiri prosesnya.

Saya menggunakan tcpview dari Microsoft . Ini menunjukkan layanan / aplikasi yang menggunakan port mana di komputer Anda.

masukkan deskripsi gambar di sini

Anda bisa mengakhiri prosesnya. Dan Selesai!


1

Ini karena port tersebut sudah berjalan di background. Jadi Anda dapat memulai ulang gerhana dan mencoba lagi. ATAU buka file application.properties dan ubah nilai 'server.port' ke beberapa nilai lain seperti misalnya: - 8000/8181


0

Tutup aplikasi, lalu restart setelah mengubah ke port baru:

${port:8181}

Anda dapat menggunakan port baru yang tidak digunakan. Di sini, saya menggunakan port 8181.


@Bruce Bagaimana ini tidak mencoba memberikan jawaban? Saya melihat upaya yang jelas: menutup aplikasi; mengubah port; dan memulai ulang. Mungkin sepenuhnya salah, tetapi itu tidak berarti itu bukan upaya untuk menjawab.
Urungkan

0

Saya menyelesaikan masalah ini, dengan menghentikan aplikasi (kotak merah di Eclipse) sebelum dijalankan lagi. Jika Anda tidak menghentikannya, aplikasi tetap dalam mode run, jadi port tetap digunakan.


0

Anda memiliki proses lain yang mendengarkan pada port 8080 yang merupakan port default yang digunakan oleh dukungan web Spring Boot. Anda juga perlu menghentikan proses itu atau mengonfigurasi aplikasi Anda untuk mendengarkan di port lain.

Anda dapat mengubah konfigurasi port dengan menambahkan server.port = 4040 (misalnya) ke src / main / resources / application.properties


0

Pada dasarnya server default biasanya berjalan di background pada port 8080. Buka services.msc dan hentikan server tomcat dan coba jalankan aplikasi spring boot lagi.


0

Di Eclipse, jika Spring Tool Suite diinstal, Anda dapat pergi ke Boot Dashboard dan memperluas lokal di explorer dan klik kanan pada aplikasi yang berjalan pada port 8080 dan hentikan sebelum Anda menjalankan kembali aplikasi Anda.


0

Saya mencoba mengubah nomor port di file berikut - /src/main/resources/application-prod.yml

Dan di dalam file ini saya membuat perubahan ini:

server: port: 8100 (atau apa pun yang Anda inginkan)

Saya harap ini akan bekerja dengan baik untuk Anda


-1

Saya mendapatkan masalah yang sama, yaitu mulai penangan protokol gagal . Penyebabnya adalah port sudah digunakan . Saya menemukan apakah port sedang digunakan atau tidak. Dulu. Jadi saya menghentikan proses yang berjalan pada port itu dan memulai ulang aplikasi boot musim semi saya. Dan itu berhasil. :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.