我创建了具有以下依赖关系的插件:
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 / validation / Validation
在两种情况下,jar文件都不包含任何依赖项。
我想念什么?
更新
6岁的问题:
How does Intellij IDEA manage plugin dependencies?
它仍然有效吗?如果可以的话,如何将我的依赖项放入插件jar中?
我现在正在做
gradle clean buildPlugin
答案 0 :(得分:0)
更新build.gradle
jar {
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
答案 1 :(得分:0)
基于响应here,我需要提交zip文件而不是jar。压缩包含所有依赖项。