Gradle gretty插件:java.lang.NoClassDefFoundError与mulit级别项目的依赖关系

时间:2016-04-21 17:16:47

标签: gradle gretty

当我使用gretty启动我的spring启动项目时,我得到了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的类,而gretty如何不将ProjectC包含在classpath中。 我该怎么做?谢谢

gretty插件:https://github.com/akhikhl/gretty

1 个答案:

答案 0 :(得分:0)

我无法提供帮助,但我可以确认我遇到了同样的问题。我也像你一样使用Spring Boot,并想知道这是否是问题的一部分。