使用Gradle构建.jar插件时的依赖配置问题:build.gradle


这个错误发生的原因是:在调试环境下(IDE内),引用的第三方library是存在于debug classpath内的(参考这篇文章),而在运行时,由于被引用的第三方library没有被包含到生产环境中,所以会出现问题。常规java项目只需要将此library放到我们的classpath里,或者导出时使用shadow等方式将依赖一起打包到.jar文件中,得到所谓的fat jar。由于我们是要写fabric插件,让服务器管理员手动配置classpath显然是不方便的,所以采用第二种方法。

通过参考其他配置文件,我使用这样的解决方法:在dependencies节中增加对应的include项,值与implementation相同,这一项会指示Gradle将该库一起打包到输出的jar中。这样一来,我们执行gradlew build就可以生成一个像其他插件一样可以直接使用的.jar文件了。