我创建了带有以下依赖项的插件:
compile group: 'org.apache.httpcomponents', name: 'fluent-hc', version: '4.5.6'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
compile group: 'joda-time', name: 'joda-time', version: '2.10'
compile group: 'com.google.guava', name: 'guava', version: '26.0-jre'而且它运行得很完美。
然后,我添加了更多的依赖项:
compile group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
compile group: 'org.hibernate.validator', name: 'hibernate-validator', version: '6.0.13.Final'
compile group: 'javax.el', name: 'javax.el-api', version: '3.0.0'
compile group: 'org.glassfish', name: 'javax.el', version: '3.0.0'当我在本地测试带有runIde任务的插件时,它运行得很好。
当我将jar文件添加到IDEA中时,我得到了异常: java.lang.NoClassDefFoundError: javax/验证/验证
在这两种情况下,jar文件都不包含任何依赖项。
我错过了什么?
更新
6岁的问题:
它还有效吗?如果是这样的话,我如何将我的依赖项放在插件jar中呢?
我现在在做:
gradle clean buildPlugin
发布于 2018-10-02 17:08:01
基于响应这里,我需要提交zip文件而不是jar。Zip包含所有依赖项。
发布于 2018-10-01 21:29:54
更新build.gradle
jar {
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}https://stackoverflow.com/questions/52598103
复制相似问题