2016-04-21 3 views
0

Когда я использую gretty для запуска моего проекта загрузки Spring, я получил NoClassDefFoundError, проект структурирован следующим образом. ProjectA - это простой проект webapp, ProjectB и ProjectC - простой Java-проект. КомандаGradle gretty plugin: java.lang.NoClassDefFoundError, когда зависимости с проектом уровня mulit

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: ком/проект/с/CClass это кажется краткой ссылка ProjectA класс ProjectC , и gretty, как не включать ProjectC в classpath. ? Как я могу сделать для этого благодаря

gretty плагин: https://github.com/akhikhl/gretty

ответ

0

Я не могу помочь, но я могу подтвердить, что я получаю такую ​​же проблему. Я также использую Spring Boot как есть, и задаюсь вопросом, является ли это частью проблемы.