Scala影子jar无法找到Main类

时间:2017-08-13 06:13:55

标签: scala gradle

有谁知道这是什么问题。它与scala版本有关。我正在尝试使用gradle和scala创建一个阴影罐。我一直在收到这个错误。我的主要课程正好在这个位置com.pro.TempMain。我试过不同的版本似乎没什么用。但是,如果我把一个java类完全有效。

 Error: A JNI error has occurred, please check your installation and try again
        Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function0
            at java.lang.Class.getDeclaredMethods0(Native Method)
            at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
            at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
            at java.lang.Class.getMethod0(Class.java:3018)
            at java.lang.Class.getMethod(Class.java:1784)
            at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
            at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
        Caused by: java.lang.ClassNotFoundException: scala.Function0
            at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
            ... 7 more

这是我的gradle文件配置:

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }

    dependencies {
        classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.0.1"
    }
}

plugins {
    id 'java'
    id 'com.github.johnrengelman.shadow' version '1.2.3'
    id 'com.github.maiflai.scalatest' version '0.12'

}

group 'com.pro'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'scala'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'idea'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}

jar {
    manifest {
        attributes 'Main-Class': 'com.pro.TempMain'
    }
}

sourceSets {
    main {
        scala {
            srcDirs = ['src/main/scala']
        }
    }
    test {
        scala {
            srcDirs = ['src/test/scala']
        }
    }
}

shadowJar {
    zip64 true
}

dependencies {
    compile 'org.scala-lang:scala-library:2.12.0'
}

0 个答案:

没有答案