0
私はgradle v3.4 &シャドウプラグインv1.2.4を使用しています。私は、しかし、エラーが、私は実行すると下にコピーされます以下のようにシャドープラグインfor gradleのマニフェスト問題
mainClassName = 'some.thing.SomeClient'
jar {
manifest {
attributes(
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
// 'Main-Class': 'some.thing.SomeClient'
)
}
}
shadowJar {
baseName = 'commons-java'
classifier = null
version = '0.0.1-SNAPSHOT'
}
artifacts {
archives shadowJar
}
jar.dependsOn shadowJar
が出版した後、私は別のプロジェクト内でこの依存関係を使用しようとする私のbuild.gradleファイル内に以下の使用して私の地元のMavenリポジトリにjarファイルを公開していますGradleのビルド
/**
* jar/shadow jar (shadow jar extends jar task to create fat jar)
*/
jar {
manifest {
attributes(
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
//'Main-Class': 'some.thing.SomeClient'
)
}
}
shadowJar {
baseName = 'something-java-client'
classifier = null
version = '0.0.1-SNAPSHOT'
}
artifacts {
archives shadowJar
}
jar.dependsOn shadowJar
エラー
The value of a manifest attribute must not be null (Key=Main-Class).
メインクラス名の有無にかかわらずjarファイルを公開しました(確認のためにjarファイルにマニフェストファイルをチェックしました)。公開されたjarファイルのために選択したオプションに関係なく、同じエラーが表示されます –
私はgradle.settingsのmainClassName属性を持っていました - それをgradle.settingsから削除して問題を解決しました –