当我使用gretty启动我的spring boot项目时,我得到一个NoClassDefFoundError,项目结构如下。ProjectA是一个简单的webapp项目,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 包含到类路径中。我该怎么做?谢谢
gretty 插件:https ://github.com/akhikhl/gretty