স্প্রিং বুট: এম্বেডড সার্ভলেট কনটেনারফ্যাক্টরি বিন অনুপস্থিত কারণে এম্বেডড ওয়েবে অ্যাপ্লিকেশন কনটেক্সট শুরু করতে অক্ষম


173

আমি স্প্রিংয়ে সম্পূর্ণ নতুন এবং এই সাইট থেকে অফিসিয়াল গাইডগুলি করা শুরু করেছি: https://spring.io/guides ides

আমি এই গাইডটি করতে চাই: https://spring.io/guides/gs/scheduling-tasks/

আমি নিম্নলিখিত ব্যতিক্রম পাই:

2014-02-14 16:25:21.614  INFO 9032 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$EnhancerByCGLIB$$5b48d763] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2014-02-14 16:25:21.638  INFO 9032 --- [           main] .c.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/work/Spring/SpringTutorial/target/classes/, file:/C:/work/apache-maven-3.0.3/repo/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter/1.0.0.RC1/spring-boot-starter-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot/1.0.0.RC1/spring-boot-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-core/4.0.0.RELEASE/spring-core-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-context/4.0.0.RELEASE/spring-context-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-autoconfigure/1.0.0.RC1/spring-boot-autoconfigure-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-logging/1.0.0.RC1/spring-boot-starter-logging-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jcl-over-slf4j/1.7.5/jcl-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jul-to-slf4j/1.7.5/jul-to-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/log4j-over-slf4j/1.7.5/log4j-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-web/1.0.0.RC1/spring-boot-starter-web-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-tomcat/1.0.0.RC1/spring-boot-starter-tomcat-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-core/7.0.47/tomcat-embed-core-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.47/tomcat-embed-logging-juli-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-web/4.0.0.RELEASE/spring-web-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-aop/4.0.0.RELEASE/spring-aop-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-beans/4.0.0.RELEASE/spring-beans-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-webmvc/4.0.0.RELEASE/spring-webmvc-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-expression/4.0.0.RELEASE/spring-expression-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-databind/2.3.1/jackson-databind-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-core/2.3.1/jackson-core-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/commons-lang/commons-lang/2.2/commons-lang-2.2.jar]
Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:140)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:124)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:658)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:355)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:920)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:909)
    at hu.kumite.Application.main(Application.java:17)
Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:190)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:163)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137)
    ... 7 more

অ্যাপ্লিকেশন স্টার্টার ক্লাসটি হ'ল:

@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(ScheduledTasks.class, args);
    }
}

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

@EnableScheduling
public class ScheduledTasks {

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("The time is now " + dateFormat.format(new Date()));
    }
}

আমি Eclipse ব্যবহার করি এবং অ্যাপ্লিকেশন হিসাবে অ্যাপ্লিকেশন.জভা এর প্রধান চালনা করি। কেউ আমাকে সাহায্য করতে পারেন?

উত্তর:


66

সময়সূচী গাইড কোনও ওয়েব অ্যাপ্লিকেশন নয় তাই আপনার সম্ভবত পিএমএসএক্সএমএল থেকে REST নির্দেশিকা থেকে কিছু ছাঁচ জিনিস রয়েছে? আপনি নির্দেশগুলি নিবিড়ভাবে অনুসরণ করলে এটি কাজ করা উচিত। উপরে পোস্ট করা কোডটির সাথে আর একটি সম্ভাব্য সমস্যা হ'ল আপনার @EnableAutoConfigurationক্লাসটি প্রসঙ্গ হিসাবে ব্যবহৃত হচ্ছে না, কেবলমাত্র একটি প্রধান পদ্ধতি হিসাবে (যা শিডিয়ুলিং গাইডের জন্য সমস্যা নাও হতে পারে তবে এটি সম্ভবত অন্যদের একগুচ্ছের জন্য)।


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

উত্স আপনি এটি করতে পারেন। তবে তারপরে আপনাকে ওয়েব অ্যাপের জন্য সমস্ত নির্ভরতা দরকার।
ডেভ সায়ার

1
তবে তারপরে আমি ব্যতিক্রমটি শেষ করেছি যা আপনি থ্রেড খোলার মধ্যে দেখতে পাচ্ছেন। দুঃখিত, আমি মনে করি আমি কিছু মিস করছি। আমার কি এখানে "খারাপ" pom.xML পোস্ট করা উচিত?
কুমাইতে

1
একটি "ভাল" পমটিতে "স্প্রিং-বুট-স্টার্টার-ওয়েব" থাকবে (সুবিধার্থে) বা অন্যথায় স্টার্টারে অন্তর্ভুক্ত সমস্ত নির্ভরতা পৃথকভাবে তালিকাভুক্ত। আপনার কাছে তা আছে কিনা তা পরীক্ষা করে দেখুন। এছাড়াও নিশ্চিত করুন যে আপনি একটি অন্তর্ভুক্ত করা @EnableAutoConfigurationআপনার SpringApplication(নেই স্নিপেট উপরের কোড নয়)।
ডেভ সায়ার

6
পুরোপুরি কাজ করে, আমি আপনাকে যথেষ্ট ধন্যবাদ দিতে পারি না। এবং এটা কাজ আমি SpringApplication রান পদ্ধতি একটি অবজেক্ট অ্যারের চালানোর জন্য ক্লাস যোগ করার জন্য ছিল পেতে:SpringApplication.run(new Object[]{Application.class, ScheduledTasks.class}, args);
Kumite

48

শোটির স্ক্যান @SpringBootApplicationযা এতে নিম্নলিখিত টিকাগুলি অন্তর্ভুক্ত করে:

@Configuration
@ComponentScan
@EnableAutoConfiguration

সুতরাং আপনি এটি করতে পারে:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
       SpringApplication.run(ScheduledTasks.class, args);
    }
}

29

আপনার pom.xML এ এটি ব্যবহার করুন:

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

বা এই এক:

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

1
2 বয়াম যুক্ত করা আমার পক্ষেও কাজ করেছিল। যদিও উভয়ই আমাকে ব্যবহার করতে হয়েছিল
ফায়ার টুন্ডে

1
@ ফ্যাফর টুন্ড এটি ভাল লক্ষণ নয়, আপনার নির্ভরতা গাছটি একবার দেখুন এবং পরীক্ষা করে দেখুন যে আপনি এটিতে <scope> ট্যাগ ব্যবহার করেছেন।
পাশা জিআর

27

আমার একটি স্প্রিং বুট প্রকল্পে একাধিক অ্যাপ্লিকেশন ক্লাস ছিল যা ওয়েবটি অন্তর্ভুক্ত করা শুরু করেছিল এবং এটির মধ্যে একটির জন্য একটি ওয়েব পরিবেশকে কনফিগার করা এড়াতে চেয়েছিল যাতে আমি এটিকে ম্যানুয়ালি নীচের মত কনফিগার করেছি:

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        new SpringApplicationBuilder(Application.class)
            .web(false)
            .run(args);
    }
}

উপরের স্প্রিং বুট 2 এবং তার জন্য আপডেট :

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        new SpringApplicationBuilder(Application.class)
            .web(WebApplicationType.NONE)
            .run(args);
    }
}


20

ত্রুটিটি পরামর্শ দেয় যে আপনি যে অ্যাপ্লিকেশনটি চালানোর চেষ্টা করছেন সেটি অ্যাপাচি টমক্যাটের কোনও উদাহরণ ইনস্ট্যান্ট করতে পারে না। আপনি টমকাট দিয়ে অ্যাপ্লিকেশনটি চালাচ্ছেন তা নিশ্চিত করুন।

আপনার সমস্ত নির্ভরতা যাচাই করার পরে আপনি একই সমস্যাটি অনুভব করেন, আপনার কনফিগারেশন ক্লাসে নিম্নলিখিতগুলি যুক্ত করার চেষ্টা করুন

@Bean
public EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory factory = 
                  new TomcatEmbeddedServletContainerFactory();
    return factory;
 }

আপনি যদি টমকাটের বাহ্যিক উদাহরণ ব্যবহার করে থাকেন (বিশেষত ইন্টেলিজের জন্য), সমস্যা হতে পারে যে আইডিই এমবেডড টমক্যাটটি শুরু করার চেষ্টা করছে। এই ক্ষেত্রে, আপনার pom.xML থেকে নিম্নলিখিতগুলি সরিয়ে ফেলুন এবং তারপরে 'কনফিগারেশন সম্পাদনা' উইজার্ড ব্যবহার করে বাহ্যিক টমক্যাটটি কনফিগার করুন।

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
</dependency> 

2
দুর্দান্ত উত্তর! এটি আমার সমস্যা সমাধান করেছে। তবে এটি ইন্টেলিজে কাজ করছিল। আমি যখন মাভেন শেড প্লাগইন ব্যবহার করে জারটি তৈরি করেছি তখন একই ক্লাসপথ তৈরি হয়েছিল তাই আমি কী বুঝতে পেরেছি তা সত্যি বুঝতে পারি না।
শিক্ষানবিশ

14

যোগ

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

8

আপনি যদি ইন্টিলিজ ব্যবহার করার সময় এই ব্যতিক্রমটি অনুভব করেন এবং আপনি runবোতামটি দিয়ে অ্যাপ্লিকেশনটি শুরু করার চেষ্টা করছেন । পরিবর্তে কমান্ড লাইন থেকে অ্যাপ্লিকেশন শুরু করার চেষ্টা করুন। উদাহরণস্বরূপ নিশ্চিত করুন যে আপনি সঠিক ডিরেক্টরিতে রয়েছেন (আপনার পম ফাইলের সাথে ডিরেক্টরি) ধরে নিচ্ছেন এটি একটি springbootঅ্যাপ্লিকেশন চালিত mvn spring-boot:runএটি আমার জন্য কৌশলটি করেছে।

আপনার বসন্ত অ্যাপ্লিকেশন অন্য কোনও অ্যাপ্লিকেশনের উপর নির্ভর করে যখন ত্রুটিটি ঘটেছিল ততক্ষণে আমি এটিও দেখেছি। এক্ষেত্রে আমাকে প্রথমে অন্য অ্যাপ্লিকেশনটি শুরু করতে হবে তারপর চালান।


1
ইন্টেলিজি পুনরায় চালু করা (চূড়ান্ত 2016.3 এখানে) এটি আমার জন্য স্থির করেছে
মঙ্গসব্রথার

উপরের মার্কুইস প্রদত্ত সমাধান ছাড়াও, আমি নিশ্চিত করেছি যে আমি চালাতে mvn এবং jdk সংমিশ্রণের সঠিক সংস্করণটি বেছে নিয়েছিmvn spring-boot:run
lnarasimhan

6

টীকাগুলি যোগ করার @SpringBootApplicationআগে স্টার্টার ক্লাসটি আমার জন্য এই সমস্যাটি ঠিক করার আগে (সুতরাং সংক্ষেপে, এই ত্রুটি বার্তার অর্থ "আপনার @SpringBootApplicationকোথাও চিহ্নিত শ্রেণি নেই, আপনার কমপক্ষে একটি প্রয়োজন)

@SpringBootApplication
public class AppStarter {

    public static void main(String[] args) {
        SpringApplication.run(AppStarter.class, args);
    }
}

4

স্প্রিং অ্যাপ্লিকেশন.আরুন () এর সাথে পাসের চেয়ে মূল পদ্ধতিটি অন্য শ্রেণিতে পড়লে আমারও একই সমস্যা হয়েছিল had

সুতরাং সমাধানটি আপনার মন্তব্য করা লাইনটি ব্যবহার করা হবে:

public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3

আপনি যদি এটি একক জার হিসাবে প্যাকেজ করেন এবং এটি কোনও অ-ওয়েব অ্যাপ্লিকেশন নীচের মত অ্যাপ্লিকেশন প্রসঙ্গ লোড করার চেষ্টা করুন।

@SpringBootApplication

ApplicationContext ctx = new AnnotationConfigApplicationContext(Main.class);

অথবা একক জার হিসাবে প্যাকেজ করতে নীচে প্লাগইন ব্যবহার করুন

             <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

চালানোর জন্য নীচের কমান্ডটি ব্যবহার করে আপনি বাহ্যিক কনফিগারেশন নির্দিষ্ট করতে পারেন

java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

/ http://docs.spring.io/spring-boot/docs/current/references/htmlboot-features-ternternal-config.html#boot-features-ternternal-config-application-property-files

নোট করুন যে আপনি যদি যুক্তি হিসাবে বৈশিষ্ট্যগুলি পাস করে থাকেন তবে এতে @PropertySource("classpath:test.properties")প্যারামিটারগুলিকে ওভাররাইড করা হবে না


স্প্রিং-বুট-মাভেন-প্লাগইন এবং <ফেজ> প্যাকেজ </ ফেজ> যোগ করা এবং তারপরে এমভিএন ক্লিন প্যাকেজ হিসাবে অ্যাপটি চালানো আমার পক্ষে কাজ করে।
হিপোকিতো

2

কমান্ড লাইন gradle bootRunদিয়ে gradle jarচালানোর জন্য কমান্ড লাইন থেকে জার ফাইলের সাথে প্যাকেজ করার সময় আপনি যদি কমান্ড লাইন ব্যবহার করে এটি সফলভাবে চালিত হন java -jar build/libs/demo.jar, দুর্ভাগ্যক্রমে, ব্যতিক্রম ব্যর্থ হয়েছে: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory beanএই ক্ষেত্রে আপনাকে বিশেষ উত্পন্ন করতে bootRepackageগ্রেড প্লাগইন এর টাস্ক ব্যবহার করতে হবে spring-bootচলমান বয়াম

  • সেটআপ 1

    $ গ্রেড ক্লিন বুটরেপ্যাকেজ

  • সেটআপ 2

    ava java -jar বিল্ড / libs / ডেমো.জার


আমি জানি না কেন, তবে gradle clean bootRepackage আমাকে সাহায্য করেছে। পূর্বে, আমি ম্যানুয়ালি সমস্ত ক্যাশে এবং বিল্ড ফোল্ডারটি পরিষ্কার করেছি।
Andrii Abramov

2

একটি আপনার পক্ষ থেকে SpringApplicationসঠিক ধরণের তৈরি করার চেষ্টা করবে ApplicationContext। ডিফল্টরূপে একটি AnnotationConfigApplicationContextবা AnnotationConfigEmbeddedWebApplicationContextব্যবহার করা হবে, আপনি ওয়েব অ্যাপ্লিকেশন বিকাশ করছেন কিনা তা নির্ভর করে।

একটি 'ওয়েব পরিবেশ' নির্ধারণ করতে ব্যবহৃত অ্যালগরিদম মোটামুটি সরল (কয়েকটি শ্রেণীর উপস্থিতির উপর ভিত্তি করে)। আপনার setWebEnvironment(boolean webEnvironment)যদি ডিফল্টটিকে ওভাররাইড করার প্রয়োজন হয় তবে আপনি ব্যবহার করতে পারেন ।

ApplicationContextকল করে যে ধরণের ব্যবহার করা হবে তার সম্পূর্ণ নিয়ন্ত্রণ নেওয়াও সম্ভব setApplicationContextClass(…​)

[টিপ] JUnit পরীক্ষার মধ্যে setWebEnvironment(false)ব্যবহার SpringApplicationকরার সময় প্রায়শই কল করা বাঞ্ছনীয় ।


এর মাধ্যমে অ্যাপ্লিকেশনটি তৈরি করার সময় আপনি কীভাবে সেটওয়েব এনভায়রনমেন্ট ব্যবহার করবেন SpringApplication.run(Application.class, args);?
tgdavies

@ টিজিড্যাভিসগুলি উপরে আমার উত্তরটি দেখে, আপনিSpringApplicationBuilder
রবার্ট হান্ট

2

বসন্ত বুট স্টার্টার নির্ভরতা যুক্ত করা আমার ত্রুটি স্থির করে।

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

আপনি এম্বেড করা সার্ভার হিসাবে টোমক্যাটটি শুরু করতে চাইলে এটি প্রয়োজন।


2

আপনার pom.xML উপস্থিত রয়েছে তা পরীক্ষা করুন

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

আমার মতো সমস্যা হয়েছে had এই নির্ভরতার অভাবের জন্য


এটি আমার সমস্যার সমাধান করে।
lenhhoxung

1

আমার ক্ষেত্রে আমরা প্রোডাকশন মোডে টেস্ট অ্যাপ্লিকেশন ক্লাস এবং টেস্ট মোডে অ্যাপ্লিকেশন ক্লাস উপেক্ষা করার জন্য @ প্রোফাইলে টীকাটি নতুন যুক্ত করেছি ।

দুর্ভাগ্যক্রমে, আমরা অ্যাপ্লিকেশন.সম্পত্তি ফাইলগুলিতে নিম্নলিখিত লাইনটি যুক্ত করতে ভুলে গেছি:

spring.profiles.active=test
or
spring.profiles.active=production

এই কনফিগারেশন ব্যতীত কোনও প্রোফাইল লোড করা হয়নি যা এতটা না বলে স্প্রিং ত্রুটির কারণ হয়েছিল।


আমি যুক্ত করতে চাই যে আপনি @ প্রোফাইলে টীকাগুলি উভয়ই সরবরাহ করে এবং প্রোফাইলটি jvm এ দিলে আপনিও এই ত্রুটিটি পেতে পারেন।
পাতলা

1

নির্ভরতা ইস্যু দ্বারা এটি হওয়া উচিত, সাধারণভাবে, আপনাকে নির্ভরতা পরীক্ষা করা দরকার।


1

সমস্যাটি এই শ্রেণীর মধ্যে:

@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
    //SpringApplication.run(Application.class, args);
    SpringApplication.run(ScheduledTasks.class, args);
    }
}

আপনার অ্যাপ্লিকেশন চালু করার সঠিক উপায় হ'ল:

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
}

1

ক্লিয়ার রিপোজিটরি হ'ল একটি সম্ভাব্য সমাধান।

উইন্ডোজ -> মাভেন সংগ্রহস্থলের সমস্ত সাবফোল্ডার মুছুন:

সি: \ ব্যবহারকারী \ YourUserName.m2 \ সংগ্রহস্থলের


জাভা স্প্রিং-এর বহুবচনসাইট টিউটোরিয়াল অনুসরণকারী যে কোনও ব্যক্তির কাছে, এটিই আমার জন্য কাজ করা একমাত্র সমাধান!
জানাক মীনা

1

আমি একই সমস্যা আটকেছি। যেহেতু আমি মেভেন ব্যবহার করে স্পেন-বুটে মেইন.ক্লাস এবং নিম্নলিখিত টীকাগুলির সংজ্ঞা দিইনি:

@SpringBootApplication
public class Main {
    public static void main(String args[]){
        SpringApplication.run(Main.class, args);
    }
}

0

সমস্যাটি হ'ল স্টার্টার টমক্যাটকে বাদ দেওয়া, আমি এটিকে বাদ দেওয়ার চেষ্টা করলাম এবং।

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

0

নিম্নলিখিত পরিস্থিতিতে আমার এই ব্যতিক্রম ছিল।

আমার POM মধ্যে বৈশিষ্ট্য ছিল:

<properties>
    <java.version>1.8</java.version>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.scmaer.java.microservice.Application</start-class>
    <cxf.version>3.1.5</cxf.version>
    <olingo.version>2.0.10</olingo.version>
    <spring.boot.version>1.4.7.RELEASE</spring.boot.version>
    <spring.boot.plugin.version>1.5.8.RELEASE</spring.boot.plugin.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <skipTests>false</skipTests>
</properties>

এবং আমার অ্যাপ্লিকেশন শ্রেণির নাম এবং পথ ("স্টার্ট-ক্লাস") ভুল ছিল।


0

আমার অনুরূপ সমস্যা ছিল এবং সমস্যাটি ছিল একটি ভাঙ্গা মাভেন রেপো জার ফাইল। আমার ক্ষেত্রে, tomcat-embed-coreজারের ফাইলটি ভেঙে গেছে। তাই আমি এটি ম্যাভেন রেপো থেকে সরিয়ে আবার ডাউনলোড করার জন্য সতেজ করে তুলেছি।


] দয়া করে আপনার উত্তরটি সঠিকভাবে সম্পাদনা করতে এবং ফর্ম্যাট করতে ফর্ম্যাটিং সরঞ্জামগুলি ব্যবহার করুন।
মোর্স

0

আমার ক্ষেত্রে এটি pomনিম্নলিখিত কোডটি ব্যবহার করে রিসোর্স ফোল্ডারটি বাদ দেওয়ার পরে ঘটে ।

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>*/*.properties</exclude>
            </excludes>
        </resource>
</resources>

এই কোড মন্তব্য আমার কোড শুরু।


0

এই সমস্যার অন্য কারণ হ'ল মাভেন রিপোজিটরি জারগুলির দুর্নীতি যাতে আপনি সমস্যার সমাধান করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

mvn dependency:purge-local-repository

0

সম্ভবত আপনি আপনার স্প্রিং বুট স্টার্টার ক্লাসে @ স্প্রিংবুট অ্যাপ্লিকেশন মিস করছেন

@SpringBootApplication
public class LoginSecurityAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoginSecurityAppApplication.class, args);
    }

}

0

আমি গ্রেড ব্যবহার করছি, যখন আমার কাছে কমান্ডলাইনারার কাফকা বিষয়গুলি গ্রহণ করবে এবং আগত হুকগুলি প্রাপ্ত করার জন্য একটি স্বাস্থ্য পরীক্ষার শেষ পয়েন্টটি ব্যবহার করবে তখন সমস্যাটি দেখা যাবে met আমি এটি বের করতে 12 ঘন্টা ব্যয় করেছি, শেষ পর্যন্ত আমি মাইবাটিস-স্প্রিং-বুট-স্টার্টারটি বসন্ত-বুট-স্টার্টার-ওয়েবের সাথে ব্যবহার করেছি এবং তাদের কিছু বিবাদ রয়েছে। পরে আমি মাইবাটিস-স্প্রিং-বুট-স্টার্টারের পরিবর্তে মাইবাটিস-স্প্রিং, মাইবাটিস এবং স্প্রিং-জেডিবিসি সরাসরি উপস্থাপন করেছি এবং প্রোগ্রামটি ভালভাবে কাজ করেছে।

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

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