In meinem SBT-Build-Dateien habe ich folgende Einträge haben:sbt Montage fehlende Klasse
libraryDependencies += "org.apache.httpcomponents" % "httpcore" % "4.4.4"
libraryDependencies += "org.apache.httpcomponents" % "httpclient" % "4.5.2"
In meinem Code verwende ich:
import org.apache.http.client.methods.HttpGet
import org.apache.http.impl.client.HttpClientBuilder
val httpClient = HttpClientBuilder.create().build();
val httpGet = new HttpGet(url)
Als ich das auf meinem Rechner laufen, es funktioniert. Aber wenn ich die JAR-Datei (sbt assembly) auf eine andere Maschine bereitstellen erhalte ich:
java.lang.NoClassDefFoundError: org/apache/http/impl/client/HttpClientBuilder
Wenn Entpacken Sie die JAR-Datei, gibt es in der Tat keine HttpClientBuilder Klasse drin.
Wenn Sie möchten, dass Ihre JARs mit Ihrer Anwendung gepackt werden, sollten Sie ein Fat JAR mit 'sbt-assembly' machen. – meucaa
Ich benutzte Assemble, wie im Titel der Frage angegeben – Havnar