gsonを使用するgradleプラグインを作成していますが、クライアントでプラグインを使用すると、これがスローされますjava.lang.NoClassDefFoundError: com/google/gson/Gson
プラグインの依存関係を間違った方法でリンクしています。しかし、私はかなりの助けが素晴らしいだろうとは思っていません。カスタムグラデルプラグインに依存関係を追加する
build.gradleプラグイン
group 'nl.daanluttik.gradle'
version '0.1'
apply plugin: 'java'
apply plugin: 'maven' // the plugin to distribute to maven
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile group: 'com.google.code.gson', name: 'gson', version: '1.7.2'
compile gradleApi()/*The gradle plugin api*/
testCompile group: 'junit', name: 'junit', version: '4.11'
}
//To distribute to maven
uploadArchives {
repositories {
mavenLocal()
}
}
でクライアントプロジェクト
buildscript {
repositories {
mavenLocal()
}
dependencies {
classpath group: 'nl.daanluttik.gradle', name: 'peach', version: '0.1'
}
}
が、これは本当に最初のエラーです:
次に、あなたは
gradle publish
参考にリポジトリ(デフォルトのローカルのみ)に公開することができますか?いくつかの静的初期化子が何らかの例外を投げた場合、 'ClassNotFoundException'とは対照的に' NoClassDefFoundError'が表示されることがよくあります。そのため、クラスをロードできず、後で利用できません。 – Vampire
@BjörnKautlerあなたは完全に正しいです。私はそれを変更します –
偉大な、私はあなたがそれに応じてそれに応じて行動することができるので、commenの答えを作った:-) – Vampire