2017-04-11 4 views
1

をロードできませんでした原因のGradle fatJar/uberJar見つけるか、メインクラスに私はGradleのfatJar/uberJarはjarファイルを実行しようとすると、次の例外を引き起こしている問題を抱えている

from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } 
with jar 

は問題なく動作します(依存関係が必要となる時点まで)。

私はこれが私の依存関係の一つであるクラスパスを変更することを前提としていますが、なぜそれが起こるのかは分かりません。

project.version = '1.0.0-alpha.2' 
project.group = 'com.domhauton.membrane' 

jar { 
    baseName = 'membrane-daemon-simple' 
    version = project.version 
    manifest { 
     attributes 'Implementation-Title': 'Membrane Daemon', 
       'Implementation-Version': project.version, 
       'Main-Class': project.group + '.Main' 
    } 
} 

//create a single Jar with all dependencies 
task fatJar(type: Jar) { 
    manifest { 
     attributes 'Implementation-Title': 'Membrane Daemon', 
       'Implementation-Version': project.version, 
       'Main-Class': project.group + '.Main' 
    } 
    baseName = 'membrane-daemon' 
    version = project.version 
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } 
    with jar 
} 

Gradleのビルドファイルbuild.gradleの

関連部分は、(コードの残りの部分で)ここにある:

https://github.com/domhauton/membraned/blob/master/build.gradle

META-INFフォルダからのファイルの非常にいっぱいです他の依存関係のため、どこから矛盾を探し始めるべきかはわかりません。

答えて

0

shadowjarを使用して問題をもう一度実行しても、問題なく動作しました。

関連するコード:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath group: 'com.github.jengelman.gradle.plugins', name: 'shadow', version: '1.2.4' 
    } 
} 

apply plugin: 'com.github.johnrengelman.shadow' 

project.version = '1.0.0-alpha.2' 
project.group = 'com.domhauton.membrane' 

jar { 
    baseName = 'membrane-daemon' 
    version = project.version 
    manifest { 
     attributes 'Implementation-Title': 'Membrane Daemon', 
       'Implementation-Version': project.version, 
       'Main-Class': project.group + '.Main' 
    } 
} 

がここ文脈で見ることができます:https://github.com/domhauton/membraned/blob/4d28ea451acc5bf52724a0cc5c94823659236287/build.gradle

関連する問題