NoClassDefFoundError zur Laufzeit mit Gradle

Ich bin mit gradle als die JavaFX-plugin.
Alles funktioniert perfekt, sogar nach dem Bau und der runnig excecutable bei Verteilung/, außer mit einer Klasse: CloseableHttpClient

Für verschiedene Zwecke, ich erstelle das Objekt so:

CloseableHttpClient client = HttpClients.createDefault();

Läuft das Programm in der IDE ist kein problem, funktioniert alles einwandfrei. Aber wenn ich aufbauen und versuchen, die .exe-Datei erhalte ich folgende Throwable-StackTrace:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.conn.ssl.SSLConnectionSocketFactory
    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:955)
    at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58)
    at ch.itcb.tools.lom.util.JsonSimpleUtil.http(JsonSimpleUtil.java:29)...

Ich wirklich nicht verstehen. Wie kann es sein, dass nur diese Klasse nicht gefunden, aber alle meine anderen Klassen zu tun?

Meine bauen.gradle-Datei:

apply plugin: 'java'
apply plugin: 'eclipse'
apply from: 'javafx.plugin'

sourceCompatibility = 1.8
version = '0.1'

jar {
    manifest {
        attributes 'Implementation-Title': 'LogoffManager',
                   'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'lib', include: ['*.jar'])

    compile 'ch.qos.logback:logback-classic:1.1.3'

    compile 'org.apache.httpcomponents:httpclient:4.5.1'

    compile 'com.googlecode.json-simple:json-simple:1.1'



    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

test {
    systemProperties 'property': 'value'
}

uploadArchives {
    repositories {
       flatDir {
           dirs 'repos'
       }
    }
}

Schreiben Sie bitte einen Kommentar, wenn Sie weitere Informationen benötigen. Thx.

  • Bitte teilen Sie Ihre bauen.gradle-Datei.
  • getan. immer noch keine Lösung gefunden :/
  • Apache jar in der distribution? Enthält es die fehlende Klasse?
  • ja, es funktioniert. kann nicht glauben, dass es von mir selbst.
  • Keine weitere Hilfe? Kämpfen immer noch mit dem gleichen problem..
  • Hast du eine Lösung finden? würden Sie teilen? tnks

InformationsquelleAutor jntme | 2015-10-13
Schreibe einen Kommentar