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, как и вы, и задаюсь вопросом, является ли это частью проблемы.

Другие вопросы по тегам