0
當我想從我的gradle這個項目運行的jar它表明:java.lang.NoClassDefFoundError:組織/ ini4j/InvalidFileFormatException通過gradle這個
Exception in thread "main" java.lang.NoClassDefFoundError: org/ini4j/InvalidFileFormatException
我的build.gradle簡稱:
apply plugin: 'java'
apply plugin: 'pmd'
apply plugin: 'application'
apply plugin: 'eclipse'
version = "0.0.0"
group= "grm"
mainClassName = 'grm.bol.Launcher'
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile group: 'org.ini4j', name: 'ini4j', version: 'latest.release'
}
jar {
manifest {
attributes "Main-Class": "grm.bol.Launcher"
attributes "Class-Path": configurations.compile.collect { it.getName() }.join(' ')
}
}
當我在Eclipse中運行時,ini4j可以正常工作,沒有任何問題。也建立gradle任務成功。 但我不能運行它,即使產生MANIFEST.MF看起來像這樣:
Manifest-Version: 1.0
Main-Class: grm.bol.Launcher
Class-Path: ini4j-0.5.2.jar
有人知道什麼是與艙單發生的原因是什麼?
該Class-Path條目要求ini4j Jar坐在您正在構建的Jar旁邊。你有沒有確定,複製它?要獲得更容易的即開即用體驗,請考慮使用「應用程序」插件。 – 2014-11-03 12:26:39
我只想製作一個罐子。所以在lib文件夾中只有那個我想運行的jar文件 – Levvy 2014-11-03 12:48:54
正如我所說的,你聲明的Class-Path條目需要一個ini4j Jar與你的Jar在同一個目錄中。使用應用程序插件的「運行」任務運行應用程序時,不應要求該條目。 – 2014-11-03 12:55:36