0

当我使用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

4

1 回答 1

0

我真的无能为力,但我可以确认我遇到了同样的问题。我也像你一样使用 Spring Boot,想知道这是否是问题的一部分。

于 2016-04-26T21:42:03.060 回答