UFO ET IT

Spring Boot 애플리케이션을 클래스 경로로 시작하지 못했습니다. []

ufoet 2023. 6. 22. 23:19
반응형

Spring Boot 애플리케이션을 클래스 경로로 시작하지 못했습니다. []

는 jHipster로 Spring Boot 애플리케이션을 생성하고 이전 프로젝트(non-jhipster project)의 코드를 추가하여 IDEA를 사용하여 실행하려고 했습니다.먼저 이와 유사한 오류 메시지가 표시됩니다. "명령줄이 너무 깁니다.(Windows 10x64를 실행 중입니다.)사용을 클릭했는데 다음과 같은 오류가 발생했습니다.:

"C:\Program Files\Java\jdk1.8.0_144\bin\java" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51351,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=51350 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath C:\Users\User\AppData\Local\Temp\classpath.jar com.test.pc.TestPartsComposerApp
Connected to the target VM, address: '127.0.0.1:51351', transport: 'socket'
The Class-Path manifest attribute in C:\Users\User\AppData\Local\Temp\classpath.jar referenced one or more files that do not exist: .... Extremely long list of jars
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : []

07:48:57.570 [restartedMain] DEBUG org.springframework.boot.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: []

저랑 해보니까./mvnw:

The Class-Path manifest attribute in C:\Users\User\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.3-1\jaxb-impl-2.2.3-1.jar referenced one or more files that do not exist: C:\Users\User\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.3-1\jaxb-api.jar,C:\Users\User\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.3-1\activation.jar,C:\Users\User\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.3-1\jsr173_1.0_api.jar,C:\Users\User\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.3-1\jaxb1-impl.jar
The Class-Path manifest attribute in C:\Users\User\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar referenced one or more files that do not exist: C:\Users\User\.m2\repository\org\liquibase\liquibase-core\3.5.3\lib\snakeyaml-1.13.jar
07:53:54.295 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
07:53:54.295 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
07:53:54.295 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/C:/workspace/jh-fpc/TestPartsComposer/target/classes/]
07:53:55.295 [restartedMain] DEBUG org.springframework.boot.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/C:/workspace/jh-fpc/TestPartsComposer/target/classes/]

나는 나의pom.xml 여기에

저는 완전히 새로운 프로젝트를 만들고, 제가 가지고 있던 메이븐 의존성을 하나씩 추가하기 시작했고, 매 단계마다 프로젝트를 실행했습니다.pom에 spring-batch와 guava를 모두 추가하면 클래스 경로에 문제가 발생합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-batch</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>${guava-core.version}</version>
</dependency>

저는 jHipster 응용 프로그램에서 동일한 오류 메시지와 함께 동일한 문제를 겪었고 저의 근본 원인은 application-dev.yml의 스프링 메일 설정의 잘못된 형식 지정(인덴테이션)이었습니다.방금 다른 프로젝트의 설정을 복사/붙여 넣었는데 IntelliJ가 원래 코드와 조금 다르게 들여보내서 해결할 수 없었습니다.

이러한 "매니페스트 속성"은 애플리케이션을 시작할 때마다 나타나지만 적어도 저에게는 실제 문제와 관련이 없었습니다.이것이 원인의 근원에 도달하는 데 도움이 되기를 바랍니다!건배.

이 오류 메시지는 ApplicationEvent에서 ClasspathLoggingApplicationListener#에 의해 출력됩니다.

그러나 오류의 실제 원인은 출력되지 않습니다.

그래서, 당신은 당신의 앱을 디버그 모드로 시작하고, 이 줄에 중단점을 추가해야 합니다. 그러면 당신은 확인할 수 있습니다.event.exception그리고 실제 오류가 발생한 것이 무엇인지 알아냅니다.

이 문제 때문에 30분 정도 허비했어요.이 대답이 누군가의 시간을 조금 절약할 수 있기를 바랍니다.

동일한 문제입니다. 설정하는 것을 잊었습니다.spring.profiles.activeapplication.properties에 여러 개가 있습니다.application-*.properties

종속성 제거spring-boot-devtools

Main.class 경로 확인: 여기에 이미지 설명 입력

Main.class는 사용자 지정 패키지에 있어야 합니다.Main.class에 "package..." 항목이 없으면 오류가 발생합니다.

JHipster(6.4.1) 애플리케이션에서도 동일한 문제가 발생했으며, @koni123의 제안에 따라 실수로 XML 선언을 복제한 것을 발견했습니다.logback-spring.xml.

문제를 해결한 후에도 시작 시 매니페스트 경고가 여전히 인쇄되어 있는 것을 볼 수 있습니다. 따라서 이것은 단순한 경고입니다.

봄에 , 이 있었던 것 .SLF4J스프링이 네이티브로 사용하는 것과는 다른 버전의 의존성을 가지고 있습니다.

가 있었습니다.jhipster @4.10.2가 얻은 해결책은 여기에 있습니다.

@ 말한 @koni123과 .application-dev.ymlspring.jpa.라는 단어가 를 일으켰습니다.format_sql: true"가 문제를 일으켰습니다.됩니다. application-dev.yml 파일입니다.이게 도움이 되길 바랍니다.

로거에 콘솔 추가기가 활성화되어 있는지 확인합니다.그러면 Eclipse 콘솔의 실제 문제가 무엇인지 알 수 있습니다.

<root level="info">
        <appender-ref ref="CONSOLE" /> 
        <appender-ref ref="FILE" />
</root>

언급URL : https://stackoverflow.com/questions/46599698/spring-boot-application-failed-to-start-with-classpath

반응형