Gradle gretty plugin:java.lang.NoClassDefFoundError при зависимостях с многоуровневым проектом
Когда я использую gretty для запуска своего весеннего загрузочного проекта, я получил NoClassDefFoundError, проект структурирован следующим образом.ProjectA - простой проект веб-приложения,ProjectB и ProjectC - простой Java-проект.
projectA:
@RestController
public class AController {
@RequestMapping(value = "/print",method = RequestMethod.GET)
public String print(){
new BClass().print();
return this.getClass().getName();
}
}
apply plugin: 'org.akhikhl.gretty'
gretty{
springBoot = true
port = 8080
contextPath = '/'
servletContainer = 'tomcat8'
managedClassReload = true
}
dependencies{
compile "org.springframework.boot:spring-boot-starter-web"
compile project(":projectB")
}
ProjectB:
public class BClass {
public void print(){
new CClass().print();
System.out.println(this.getClass().getName());
}
}
dependencies{
compile project(":projectC")
}
ProjectC:
public class CClass {
public void print(){
System.out.println(this.getClass().getName());
}
}
команда запуска:
gradle :projectA:appRun
затем доступ: http://localhost:8080/print Я получил java.lang.NoClassDefFoundError: com/project/c/CClass. Кажется, что ProjectA является краткой ссылкой на класс ProjectC, и не может не включать ProjectC в classpath. Как я могу сделать для этого? Спасибо
Gretty плагин: https://github.com/akhikhl/gretty
1 ответ
Я не могу помочь, но могу подтвердить, что у меня та же проблема. Я также использую Spring Boot, как и вы, и задаюсь вопросом, является ли это частью проблемы.