ইতিমধ্যে ব্যবহৃত স্প্রিং অ্যাপ্লিকেশন ঠিকানা চালু করা


98

আমার বসন্ত অ্যাপ্লিকেশনটি চালু করতে আমার এই ত্রুটি রয়েছে:

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 বন্দরে আমার কোনও প্রয়োগ নেই

টমক্যাট সার্ভার.এক্সএমএলে আমি বন্দরটি 8181 এ সেট করেছি তবে সমস্যাটি এখনও অব্যাহত রয়েছে

আমি এই পোস্টটি খুঁজে:

টমক্যাট (8080 নয়) এর জন্য বিকল্প বন্দরটি মাভেন দিয়ে শুরু করার সময়?

তবে mvn -Dmaven.tomcat.port = 8181 টমক্যাট চালুর পরেও আমার একই সমস্যা: রান-ওয়ার

টেমকাট সার্ভারের সাথে কীভাবে মেভেন করা যায় তা আমি বুঝতে পারি না এটি আমার পম.এক্সএমএল

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

আপনার সাহায্যের জন্য ধন্যবাদ


প্রথমে নিশ্চিত হয়ে নিন যে এই পোর্টগুলি শুরু করার জন্য 'সত্যই' উপলব্ধ। এখন আমি অনুমান করি যে আপনি কিছু * ইউনিক্স সিস্টেম ব্যবহার করছেন (আমি পথের সীমানা থেকে অনুমান করছি), আপনার টার্মিনালটি খুলুন এবং netstat -tuplenতাদের নিজস্ব প্রসেসআইডি সহ ব্যবহৃত পোর্টগুলির একটি সম্পূর্ণ তালিকা পেতে চালনা করুন। টমক্যাট শুরু করার আগে বন্দরগুলি নির্বিঘ্নে ব্যবহার করা হচ্ছে কিনা সেখান থেকে যাচাই করুন
সাইফ আসিফ

হ্যাঁ আমার পোর্ট 8181 বিনামূল্যে
Ajouve

4
ডিফল্ট পোর্ট (8080) চলছে কিনা তা পরীক্ষা করুন। উইন্ডোজে> নেটস্যাট্যাট-এ-ও-এন ব্যবহার করুন এবং তারপরে আপনার পোর্টটি অনুসন্ধান করুন কিনা চলমান আছে কি না .... যদি এটি চলছে তবে তার সাথে সম্পর্কিত পিডটি নোট করুন। টাস্কিল / এফ / পিড {পিডনো}
সাগর রাউট

কনফিগারেশন ফাইলে ভুল আইপিও এই ব্যতিক্রম ঘটায়।
Xaqron

উত্তর:


109

স্প্রিং বুট এম্বেডড টমকেট ডিফল্টরূপে ব্যবহার করে তবে এটি ব্যবহার না করে এটিকে অন্যভাবে পরিচালনা করে tomcat-maven-plugin। পোর্ট পরিবর্তন করতে --server.portউদাহরণস্বরূপ পরামিতি ব্যবহার করুন:

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

আপডেট । বিকল্পভাবে করা server.port=8181মধ্যে application.properties(অথবা application.yml)।


4
এটি কি কনফিগারেশনে সেট করা সম্ভব? উদাহরণস্বরূপ টিকা ব্যবহার করে?
ড্যানিল শেভলেভ

66
server.port=8181আপনার অ্যাপ্লিকেশন.প্রপার্টি ফাইলগুলিতে রেখে দেওয়াও কাজ করা উচিত।
মার্সিন ąাজেকস্কোস্কি

পরিষ্কার এবং বিল্ড করতে ভুলবেন না ... এটিও সহায়তা করে
চেনবাবগুলি

4
: {8181 বন্দর} application.properties ফাইলের জন্য একটি ভালো বিকল্প ওভাররাইড ক্ষমতা server.port = $ সঙ্গে একটি ডিফল্ট সহ
শন ভাদের

4
অনেক অনেক ধন্যবাদ !! আমি এই সমাধানটি সারাদিন অনুসন্ধান করেছি এবং --server.port = 8181 যুক্ত করার পরে এটি সমাধান হয়েছে। ধন্যবাদ
gsiradze

49

বন্দরটি ব্যবহার করছে এমন প্রক্রিয়াটি অনুসন্ধান করতে নিম্নলিখিত কমান্ডটি চালান

lsof -i :<portNumber> | grep LISTEN

আপনার ক্ষেত্রে এটি হবে ->

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

78960 প্রক্রিয়া আইডি, প্রক্রিয়াটি হ্রাস করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

kill -9 78960

অ্যাপ্লিকেশনটি আবার চালু করুন।


4
আমার ম্যাক: sudo lsof -n -P | এ কাজ করার জন্য আমাকে এই আদেশটি ব্যবহার করতে হয়েছিল গ্রেপ তালিকা। ম্যাক আপনাকে sudo ব্যবহার করার সাথে সাথে আপনার পাসওয়ার্ড টাইপ করতে অনুরোধ করবে।
সাইমন

উত্তরের জন্য ধন্যবাদ এখানে। শুধুমাত্র এই সমাধানটি ইন্টেলিজ
এএমিক মিং

30

/Src/main/resources/application.properties- তে অন্য একটি পোর্ট নম্বর (যেমন: 8181) কনফিগার করুন

সার্ভার.পোর্ট = 8181


@ জুনচেন লুই এর কারণ এটি কেবলমাত্র কর্মচঞ্চল। আপনি যদি সর্বদা এটি করেন তবে আপনার প্রচুর অব্যবহৃত টমক্যাটগুলি চলবে। প্রথমে ত্রুটি ঠিক করা ভাল।
স্টিম্পসন ক্যাট

বাঁধ, এটি কোনও এক্সএমএল বা সেটআপ প্রজেক্টো
ডিয়েগো ম্যাটোস - কেেকে

12

পুনরায় চালু করার আগে আপনাকে সার্ভারটি বন্ধ করতে হবে। লাল বাক্স আইকন বা সার্ভার ভিউ সন্ধান করুন।


হ্যাঁ, এটি গ্রহনে সমস্যা ছিল। : এখানে কিভাবে NetBeans মধ্যে হুল বিড়াল থামাতে হল stackoverflow.com/questions/543439/...
Tomasz Mularczyk

4

ইন্টেলিজিজ ব্যবহার করে, আমি একটি স্প্রিং অ্যাপ্লিকেশন চালানোর চেষ্টা করেছি যখন একটি অ্যাপ্লিকেশন ইতিমধ্যে চলছে I আমাকে প্রথমটি থামাতে হয়েছিল। এর পরে, দ্বিতীয় অ্যাপ্লিকেশন চালানো কোনও ত্রুটি ফিরিয়ে দেয়নি।


4

স্প্রিং টুল স্যুটের চিত্র এবং অ্যাপ্লিকেশন বোতাম বন্ধ করুন

আমার ক্ষেত্রে সার্ভারগুলির উইন্ডোটিতে সন্ধান করা কেবল একটি টমক্যাট সার্ভার দেখিয়েছিল যা আমি কখনও এই প্রকল্পের জন্য ব্যবহার করি নি। আমার স্প্রিংবুট প্রকল্পটি একটি এম্বেডড টমক্যাট সার্ভার ব্যবহার করেছে এবং আমার অ্যাপ্লিকেশন শেষ হয়ে গেলে এটি থামেনি। এই বোতামটি যা আমি একটি লাল তীর দ্বারা ইঙ্গিত করব তা অ্যাপ্লিকেশন এবং টমক্যাট সার্ভারটি বন্ধ করে দেবে তাই পরবর্তী সময় আমি যখন অ্যাপ্লিকেশনটি চালাব তখন ত্রুটিটি পাব না যে ইন্সট্যান্স অফ টমক্যাট ইতিমধ্যে 8080 বন্দরে চলছে।

প্রকৃত ত্রুটি বার্তা:

সংযোগকারীটির কনফিগারেশন যাচাই করুন, 8080 বন্দর শোনার যে কোনও প্রক্রিয়া শনাক্ত করুন এবং থামান, বা অন্য কোনও বন্দরে শোনার জন্য এই অ্যাপ্লিকেশনটি কনফিগার করুন।

এর দ্বারা ঘটেছে: java.net.BindException: ইতিমধ্যে ব্যবহারের ঠিকানা: org.apache.catalina.LifecycleException দ্বারা: service.getName (): "টমক্যাট"; প্রোটোকল হ্যান্ডলার শুরু ব্যর্থ

আমি এখন এই টিউটোরিয়াল https://spring.io/guides/gs/consuming-rest/ এ আমার স্প্রিংবুট গ্রাহক বিশ্রামের অ্যাপ্লিকেশনটি সম্পূর্ণ করার সাথে সাথে সমস্ত পরিষেবা বন্ধ করার উপায় অনুসন্ধান করব /

বসন্ত-বুট


3

প্রথমে, কে 8080 বন্দর ব্যবহার করে তা পরীক্ষা করে দেখুন।

যদি 8080 বন্দরটি ব্যবহৃত হয়, শ্রবণ পোর্টটি 8181 এ পরিবর্তন করুন।

আপনি যদি আইডিইএ ব্যবহার করেন, শুরু করুন কনফিগারেশনটি চালান, চালনা করুন> কনফিগারেশন সম্পাদনা সম্পাদনা করুন এখানে চিত্র বিবরণ লিখুন

আপনি যদি এমভিএন স্প্রিং-বুট ব্যবহার করেন তবে কমান্ডটি ব্যবহার করুন:

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

আপনি যদি জাভা-জজার ব্যবহার করেন তবে কমান্ডটি ব্যবহার করুন:

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

2

এটি কেবলমাত্র অতিরিক্ত সম্পত্তি সেট করে এবং উপলভ্য স্বেচ্ছাসেবী পোর্ট নম্বর ব্যবহার করে আমার পক্ষে কাজ করেছে:

  • ওয়াইএমএল

/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     

4
এটি আমার পক্ষে কাজ করেছে। স্প্রিং বুট ২.০.৩.আরলেস এ, management.portকীটি প্রতিস্থাপন করা হয়েছে management.server.port
বিনিয়াম

tomcat.jvmroute = 5478 আমাকে = 18181 server.port সহ আবেদন দুটি দৃষ্টান্ত চালানোর জন্য সাহায্য করেছে
রীতেশ কে

2

আমি বন্দরের নম্বরটি মারার পরামর্শ দেব। এটা আমার জন্য কাজ করেছে

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

2

আপনার অ্যাপ্লিকেশন.প্রপার্টি ফাইলগুলিতে -

/ src / প্রধান / সংস্থানসমূহ / অ্যাপ্লিকেশন.সম্পত্তি

পোর্ট নম্বরটি এমন কিছুতে পরিবর্তন করুন -

সার্ভার.পোর্ট = 8181

অথবা বিকল্পভাবে আপনি আপনার জার ফাইলটি সম্পাদন করার সময় বিকল্প পোর্ট নম্বর সরবরাহ করতে পারেন - জাভা-জার্স রিসোর্স-সার্ভার / বিল্ড / libs / রিসোর্স-সার্ভার.জার --server.port = 8888


2

আপনি আপনার IDE /src/main/resources/application.properties এ অন্য একটি পোর্ট নম্বর কনফিগার করতে পারেন

সার্ভার.পোর্ট = 8081

অন্যথায় আইডিই কনসোল ট্যাবে ডান ক্লিক করুন এবং সকলকে শেষ / সংযোগ বিচ্ছিন্ন নির্বাচন করুন


2

এই ত্রুটিটি মূলত তখন ঘটে যখন নির্দিষ্ট বন্দরটি মুক্ত না হয়। সুতরাং দুটি সমাধান রয়েছে, আপনি যে বন্দুকটি ব্যবহার করছেন সেটিকে হত্যা করে বা বন্ধ করে আপনি এই বন্দরটি মুক্ত করতে পারেন বা আপনি অন্য কোনও বন্দরে আপনার অ্যাপ্লিকেশন (টমক্যাট) চালাতে পারেন।

সমাধান 1: বন্দরটি মুক্ত করুন

একটি লিনাক্স মেশিনে আপনি বন্দরের গ্রাহকের প্রসেস-আইডি খুঁজে পেতে পারেন এবং তারপরে এটি হত্যা করতে পারেন। নিম্নলিখিত কমান্ডটি ব্যবহার করুন (এটি ধরে নেওয়া হবে যে ডিফল্ট পোর্টটি 8080)

netstat -pnltu | grep -i "8080"

উপরে উল্লিখিত কমান্ডের আউটপুট এমন কিছু হবে:

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

তারপরে আপনি প্রক্রিয়াটিকে সহজেই প্রক্রিয়াটি মেরে ফেলতে পারেন:

kill 20674

একটি উইন্ডোজ মেশিনে একটি প্রসেসিড ব্যবহার সন্ধান করতে netstat -ano -p tcp |find "8080"। প্রক্রিয়াটি ব্যবহারের জন্য taskkill /F /PID 1234(1234 এর পরিবর্তে প্রতিষ্ঠিত প্রসেসিড প্রবেশ করুন) ব্যবহার করুন।

সমাধান 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

আমার ক্ষেত্রে, ওরাকল টিএনএস পরিষেবা 8080 বন্দরটি ব্যবহার করছিল, এটি দেখতে পেয়েছিল যে প্রশাসক হিসাবে "নেটস্যাট্যাট - আনব" কমান্ডটি ব্যবহার করে। সেই পরিষেবাটি বন্ধ করতে উইন্ডোজ স্টার্ট মেনু থেকে কেবল শাটডাউন ডেটাবেস ব্যবহার করা হয়েছিল এবং কোনও সমস্যা ছাড়াই স্প্রিংবুট অ্যাপ্লিকেশন শুরু করতে সক্ষম হয়েছিল।

এছাড়াও যদি আপনি কোন অ্যাপ্লিকেশন 8080 বন্দরটি ব্যবহার করছে এবং স্প্রিন্ট বুট অ্যাপটি চালাতে চান তা না খুঁজে পেতে আপনি রান হিসাবে ক্লিক করুন ... উপলভ্য পোর্ট) বা আপনি সুনির্দিষ্ট হতে পারেন: -ডসারভার.পোর্ট = 8081

আশা করি এটা সাহায্য করবে.


আমি আমার -সার্ভার.পোর্ট = 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

কনসোলে রাইট ক্লিক করুন এবং সমস্ত অপসারণ / সংযোগ বিচ্ছিন্ন ক্লিক করুন।

বা

কনসোল উইন্ডোর উপরের ডানদিকে কোণায় অবস্থিত 'নির্বাচিত কনসোল প্রদর্শন করুন' আইকনে ক্লিক করুন এবং, পোর্টটি এখনও অবধি ধারণ করে এমন কনসোলটি বেছে নিন এবং শেষ করুন।


1

আমি উইন্ডোজের জন্য সমাধান খুঁজছিলাম কিন্তু কোনও সন্ধান পাই নি। অবশেষে, বুঝতে পারলাম যে বন্দরটি ব্যবহার করে একটি ঝোলা জাভা অ্যাপ্লিকেশন রয়েছে। হতে পারে এটি বসন্তের প্রয়োগের পূর্ববর্তী উদাহরণ এবং প্রক্রিয়াটি শেষ হয়েছে।

আমি মাইক্রোসফ্ট থেকে tcpview ব্যবহার করেছি । এটি আপনার কম্পিউটারে কোন পোর্ট ব্যবহার করে পরিষেবাগুলি / অ্যাপ্লিকেশনগুলি দেখায়।

এখানে চিত্র বর্ণনা লিখুন

আপনি প্রক্রিয়া শেষ করতে পারেন। আর হয়ে গেল!


1

এর কারণ বন্দরটি ইতিমধ্যে পটভূমিতে চলছে o সুতরাং আপনি গ্রহনটি পুনরায় চালু করতে পারেন এবং আবার চেষ্টা করতে পারেন। অথবা ফাইল অ্যাপ্লিকেশন.প্রার্টিটি খুলুন এবং 'সার্ভার.পোর্ট' এর মান যেমন অন্য কোনও মানতে যেমন প্রাক্তন: 8000/8181


0

অ্যাপ্লিকেশনটি বন্ধ করুন, তারপরে নতুন বন্দরে পরিবর্তন করার পরে এটি পুনরায় চালু করুন:

${port:8181}

আপনি যে কোনও নতুন অব্যবহৃত পোর্ট ব্যবহার করতে পারেন। এখানে, আমি 8181 বন্দর ব্যবহার করেছি।


@ ব্রুস কীভাবে এটি কোনও উত্তর দেওয়ার চেষ্টা করে না? আমি একটি পরিষ্কার প্রচেষ্টা দেখতে পাচ্ছি: অ্যাপ্লিকেশনটি বন্ধ করে দিচ্ছি; বন্দর পরিবর্তন; এবং এটি পুনরায় আরম্ভ। এটি সম্পূর্ণ ভুল হতে পারে, তবে এর অর্থ এই নয় যে এটি উত্তর দেওয়ার চেষ্টা নয়।
পূর্বাবস্থায় ফিরুন

0

আমি এই সমস্যাটি সমাধান করেছি, আবার চালানোর আগে অ্যাপ্লিকেশনটি বন্ধ করে (Eclipse এ লাল বর্গ)। আপনি যদি এটি বন্ধ না করেন, অ্যাপ্লিকেশনটি রান মোডে থাকে, তাই পোর্ট এখনও ব্যবহৃত হয়।


0

আপনার অন্য একটি প্রক্রিয়া রয়েছে যা 8080 পোর্টে শোনা যাচ্ছে যা স্প্রিং বুটের ওয়েব সমর্থন দ্বারা ব্যবহৃত ডিফল্ট বন্দর। হয় আপনি এই প্রক্রিয়াটি বন্ধ করতে হবে বা অন্য কোনও বন্দরে শুনতে আপনার অ্যাপ্লিকেশনটি কনফিগার করতে হবে।

আপনি সার্ভার.পোর্ট = 4040 (উদাহরণস্বরূপ) এসসিআর / প্রধান / সংস্থানসমূহ / অ্যাপ্লিকেশন.প্রেটিটিতে যোগ করে পোর্ট কনফিগারেশন পরিবর্তন করতে পারেন


0

মূলত ডিফল্ট সার্ভারটি 8080 পোর্টের পটভূমিতে সাধারণত চালিত হয় services পরিষেবাদি.এমএসসি খুলুন এবং টমক্যাট সার্ভারটি বন্ধ করুন এবং আবার বসন্ত বুট অ্যাপ্লিকেশনটি চালানোর চেষ্টা করুন।


0

অ্যাকলিপসে, যদি স্প্রিং টুল স্যুইট ইনস্টল করা থাকে তবে আপনি বুট ড্যাশবোর্ডে গিয়ে এক্সপ্লোরারে স্থানীয় প্রসারিত করতে পারেন এবং 8080 বন্দরতে চলমান অ্যাপ্লিকেশনটিতে ডান ক্লিক করুন এবং আপনার অ্যাপ্লিকেশনটি পুনরায় চালানোর আগে এটিকে থামিয়ে দিতে পারেন।


0

আমি নিম্নলিখিত ফাইলটিতে পোর্ট নম্বর পরিবর্তন করার চেষ্টা করি - /src/main/resources/application-prod.yml

এবং এই ফাইলের ভিতরে আমি এই পরিবর্তন করেছি:

সার্ভার: পোর্ট: 8100 (বা যা কিছু আপনি চান)

আমি আশা করি এটি আপনার পক্ষে ভাল কাজ করবে


-1

আমি একই ইস্যু পেয়েছিলাম, অর্থাৎ প্রোটোকল হ্যান্ডলার শুরু ব্যর্থ । কারণটি ছিল বন্দরটি ইতিমধ্যে ব্যবহৃত । আমি বন্দরটি ব্যবহারে ছিল কিনা তা খুঁজে পেয়েছি। ইহা ছিল. সুতরাং আমি সেই বন্দরে চলমান প্রক্রিয়াটি মেরে ফেলেছি এবং আমার বসন্তের বুট অ্যাপ্লিকেশনটি পুনরায় শুরু করেছি। এবং এটা কাজ করে. :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.