[英]Gradle plugin dependency (NoClassDefFoundError)
我正在嘗試編寫gradle插件,該插件依賴於RPM星雲插件(基本上將其包裝)。 我編譯插件沒有任何問題。 在生成的ivy.xml中,我有
<dependencies>
<dependency org="com.netflix.nebula" name="gradle-ospackage-plugin" rev="4.1.0" conf="compile->default"/>
</dependencies>
感覺還可以,但是當我在應用程序中應用插件時,我得到了
Caused by: java.lang.NoClassDefFoundError: com/netflix/gradle/plugins/rpm/RpmPlugin
at com.cisco.td.gradle.rpm.ServiceRpmPlugin$_configureProject_closure2.doCall(ServiceRpmPlugin.groovy:27)
at com.cisco.td.gradle.rpm.ServiceRpmPlugin.configureProject(ServiceRpmPlugin.groovy:26)
執行本節代碼時
project.plugins.with {
apply RpmPlugin
}
我試圖使用我的插件類在構建類路徑上添加依賴項
project.buildscript.dependencies {
classpath "com.netflix.nebula:gradle-ospackage-plugin:4.1.0"
}
但這引發:
Caused by: org.gradle.api.InvalidUserDataException: Cannot change dependencies of configuration ':classpath' after it has been resolved.
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.validateMutation(DefaultConfiguration.java:631)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$2.run(DefaultConfiguration.java:174)
at org.gradle.api.internal.DefaultDomainObjectCollection.assertMutable(DefaultDomainObjectCollection.java:274)
當我將星雲依賴項作為buildscript依賴項直接添加到應用程序項目中時,它會起作用,但這不是我認為的工作方式-插件應下載其所有依賴項,並且客戶端無需關心...
提前致謝!
幾個小時后-問題是沒有生成pom.xml。 使用時創建
uploadArchives {
repositories {
mavenDeployer {
repository(url: mavenLocal().url)
}
}
}
它按預期工作...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.