Wenn ich gretty benutze, um mein Spring Boot Projekt zu starten, habe ich einen NoClassDefFoundError, das Projekt ist wie folgt strukturiert.ProjectA ist ein einfaches Webapp Projekt, ProjectB und ProjectC ist ein einfaches Java-Projekt.Gradle gretty plugin: java.lang.NoClassDefFoundError wenn Abhängigkeiten mit Multilevel Projekt
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());
}
}
Startbefehl:
gradle :projectA:appRun
dann Zugang: http://localhost:8080/print I java.lang.NoClassDefFoundError bekam: com/Projekt/c/CClass es scheint, die ProjectA prägnante Referenz die Klasse von ProjectC zu sein , und gretty, wie nicht enthalten, ProjectC zu Classpath. ? Wie kann ich dafür tun dank
Gretty Plugin: https://github.com/akhikhl/gretty