programing

스프링 부트 실행 시 IntelliJ 프로세스가 종료 코드 0으로 종료됨

showcode 2023. 3. 26. 11:57
반응형

스프링 부트 실행 시 IntelliJ 프로세스가 종료 코드 0으로 종료됨

IntelliJ-Idea에서 spring-boot 어플리케이션을 시작할 때 문제가 발생하였습니다.단말기로 애플리케이션을 실행할 때는 이 문제가 없습니다.

:: Spring Boot ::        (v1.2.1.RELEASE)

2015-09-24 12:22:44.274  WARN 22380 --- [           main] n.sf.ehcache.config.CacheConfiguration   : Cache 'publicationsCount' is set to eternal but also has TTI/TTL set.  To avoid this warning, clean up the config removing conflicting values of eternal, TTI and TTL. Effective configuration for Cache 'publicationsCount' will be eternal='true', timeToIdleSeconds='0', timeToLiveSeconds='0'.

Process finished with exit code 0

이 경고가 원인이 아닌 것 같아요.이유가 뭘까요?

제공된 spring-boot-starter-tomcat 종속성 범위를 삭제하면 도움이 됩니다.

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

https://start.spring.io/(initializer)에서 간단한 프로젝트를 만들고 애플리케이션을 실행하기 위한 간단한 컨트롤러를 추가했습니다.

@RestController
public class testController {

    @GetMapping(value="/")
    //@RequestMapping(value="/",method=RequestMethod.GET)
    public String hello(){
        return "Hello World!!";
    }
}

하지만 시작은 되지 않았다 왜냐하면 내 폼이

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

이것을 추가하고 나서, 나의 애플리케이션이 기동했다...

2019-11-05 14:33:32.302  INFO 39079 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@dd20ebc, org.springframework.security.web.context.SecurityContextPersistenceFilter@57b1ec84, org.springframework.security.web.header.HeaderWriterFilter@2c2a7d53, org.springframework.security.web.csrf.CsrfFilter@b9b97ad, org.springframework.security.web.authentication.logout.LogoutFilter@29f3185c, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@4ffa7041, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@2c2a903f, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@6c70b7c3, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@48d44b46, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5cbe95b1, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@11ad095c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@16a09809, org.springframework.security.web.session.SessionManagementFilter@1de85972, org.springframework.security.web.access.ExceptionTranslationFilter@4a122e68, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5d37aa0f]
2019-11-05 14:33:32.392  INFO 39079 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-11-05 14:33:32.398  INFO 39079 --- [           main] eModelDeploymentServiceParentApplication : Started ServiceModelDeploymentServiceParentApplication in 5.727 seconds (JVM running for 6.778)

다음은 나의 포마 의존관계입니다.

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-streams</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
</dependencies>

주의: 위의 모든 의존관계가 필요하지 않을 수 있습니다.

스프링 부트 스타터 웹을 추가하면 문제가 해결됩니다.

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

pom.xml에 다음 의존관계를 추가합니다.

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

프로젝트를 생성하는 경우gradlehttps://start.spring.io/(initializer)에서 템플릿을 추가해 주세요.org.springframework.boot:spring-boot-starter-webbuild.gradle 파일에 의존합니다.

// you need to add this dependency to run spring boot correctly
implementation 'org.springframework.boot:spring-boot-starter-web'   

pom.xml에서 아래의 의존관계를 사용하고 maven 변경사항(ctrl+shift+o)을 로드하면 문제가 해결됩니다.

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

저 같은 경우에는 인텔리J가

관리자

동작하고 있는 것은, Tomcat 의존 관계가 있는 것을 확인합니다.

 <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>9.0.29</version>
    </dependency>

제 경우, 다음과 같은 약간의 차이가 있습니다.

  • IntelliJ에서 가장 잘 보이는 하단의 [Run](실행)을 클릭하면...
  • src/main/java/com.exampler 내에서 기본 컨트롤러를 찾습니다.응용 프로그램을 마우스 오른쪽 버튼으로 클릭하고 Run을 누릅니다.

두 번째 옵션은 프로젝트를 적절하게 실행하는 것입니다.

아래 속성이 allation.properties 파일에 추가된 경우 삭제해야 합니다.이 속성은 웹 컨테이너를 제거하는 데 사용됩니다.

spring.main.web-application-type=none

제 경우는, 이것을 삭제하는 것을 잊었습니다만, 삭제하면 문제가 해결됩니다.

저 같은 경우에는 먼저 몇 가지 종속성을 제거해야 합니다.그리고 나는 달린다maven clean그 후 코드는 정상적으로 동작합니다.

언급URL : https://stackoverflow.com/questions/32758996/intellij-process-finished-with-exit-code-0-when-spring-boot-run

반응형