나는 모든 통합 테스트가 단계에서 spring-boot-maven-plugin
단계를 사용하여 응용 프로그램 모듈을 시작하고 스위트를 실행하는 별도의 모듈에있는 스프링 부트 프로젝트를 가지고 있습니다. . 이 구조는 1.4.0.RELEASE로 업그레이드 될 때까지 제대로 작동합니다. 이제 나는 ClassNotFoundException
이됩니다.spring-boot-maven-plugin> = 1.4.0 jar 구조 변경
"1.4.0"jar 구조를 확인한 후에 "1.3.6"하나와 모든 패키지가 최상위 수준이 아니라 BOOT-INF 등의 폴더에 없다는 것을 알았습니다 (화면 참조). 클래스 로더는 "mainClass"에 정의 된 패키지를 더 이상 찾을 수 없습니다.
누군가가 문제를 해결하고 새 버전에서이 솔루션을 사용할 수 있는지 생각해보십시오.
미리 감사드립니다.
ITest 모듈 :
<!-- dependency to the app module -->
<dependency>
<groupId>com.company.app</groupId>
<artifactId>app-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<mainClass>com.company.app.RunServer</mainClass>
</configuration>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
응용 프로그램 모듈 :
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
답장을 보내 주셔서 감사합니다. 이것은 좋은 요약이지만 나는 내가 이미 알고있는 것보다 더 많은 것을 말하지 않는다. 클래스 로더가 새로운 jar 구조에서 클래스를 찾을 수 없다는 문제에 대한 해결책을 찾지 못했습니다. 해당 _classifier_ 접근 방식을 사용하면 클래스가 있지만 응용 프로그램 시작에 필요한 종속성은 더 이상 사용할 수 없습니다. – cecode