JavaFX プラグインとして gradle を使用しています。1 つのクラスを除いて、ディストリビューション/で実行可能ファイルをビルドして実行した後でも、すべてが完全に機能します。CloseableHttpClient
いくつかの目的のために、次のようなオブジェクトを作成します。
CloseableHttpClient client = HttpClients.createDefault();
IDE でプログラムを実行しても問題ありません。すべて正常に動作します。しかし、.exe ファイルをビルドして実行しようとすると、次の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)...
私は本当にそれを理解していません。このクラスだけが見つからないのに、他のすべてのクラスが見つかるというのはどうしてでしょうか?
私のbuild.gradleファイル:
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'
}
}
}
さらに情報が必要な場合は、コメントを書いてください。どうも。