У меня есть проект maven с тестовым классом, который находится в src/test/java/MyDevClass
, который предназначен только для целей разработки/тестирования. Я хотел бы использовать его, когда начинаю spring-boot-maven-plugin с командной строки mvn spring-boot:run
.Spring Boot useTestClasspath бросает CannotLoadBeanClassException и ClassNotFoundException
Итак, мой pom.xml
содержит:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- TODO: Will create a maven profile and have useTestClasspath only for development/testing -->
<useTestClasspath>true</useTestClasspath>
</configuration>
</plugin>
</plugins>
</build>
Но, я получаю следующее сообщение об ошибке:
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [MyDevClass]
Caused by: java.lang.ClassNotFoundException: MyDevClass
достаточно Интригующий, у меня есть еще один проект с использованием tomcat7-maven-plugin и она отлично работает:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<useTestClasspath>true</useTestClasspath>
</configuration>
</plugin>
Что мне не хватает?
Я не понимаю. Почему вы хотите, чтобы он был зарегистрирован в производственном контексте, когда это тестовый класс? Не имеет смысла. – luboskrnac
Несвязанный, но [не помещайте приложение в пакет по умолчанию] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-using-the-default-package). –
Привет @luboskrnac. Правильно, я не хочу этого в производстве. Я создам для этого профиль maven. – Rafa