2017-06-18 5 views
0

Ich codiere eine Anwendung, die modulbasiert ist, so dass andere JAR-Dateien in den Klassenpfad geladen werden. Ein Modul dieser Anwendung ist ein RestAPI. Für die RestAPI verwende ich Spark Java. Jetzt ist mein Problem, dass eine Klasse nicht geladen werden kann. Die Ausnahme sieht wie folgt:Spark Java ClassNotFound

org.pac4j.core.exception.TechnicalException: java.lang.ClassNotFoundException: org.pac4j.core.profile.CommonProfile 

ich die Klasse in mein Glas tatsächlich beschattet.

Was ich noch versucht:

Ich versuchte es manuell von Klasse # forName zu laden. Dies hat tatsächlich keine Ausnahme ausgelöst. Ich habe versucht, die gesamte Jar-Datei mit einem URLClassLoader zu laden. Nichts hat geklappt.

Vielen Dank für jede Hilfe

+0

Welche Abhängigkeits-Management-System (falls vorhanden) verwenden Sie? –

+0

Ich benutze eigentlich Maven, und das Abhängigkeitsmanagement scheint absolut in Ordnung. Ich habe meine eigene JAR-Datei bereits dekompiliert und alles ist da, wo es sein muss. –

Antwort

0

Herunterladen dieses Paket von unten Link: -

http://central.maven.org/maven2/org/pac4j/pac4j-core/2.0.0/pac4j-core-2.0.0.jar

Oder

Wenn Sie einen Abhängigkeits Manager verwenden (Maven, SBT, Efeu, Gradle usw.) Kopieren Sie die entsprechende Abhängigkeit und fügen Sie sie ein. Wenn Sie einen Abhängigkeitsmanager verwenden, können Sie diese Ausnahme nicht lösen.

+0

Vielen Dank für Ihre Antwort, aber ich weiß tatsächlich, wie man Maven verwendet. Aber das Problem ist wahrscheinlich der Classloader, weil ich eine modulare Anwendung entwickelt habe. –

0

Fügen Sie die folgende Abhängigkeitseigenschaft in Ihrer pom.xml hinzu, wenn Sie das maven build tool verwenden.

<dependency> 
    <groupId>org.pac4j</groupId> 
    <artifactId>pac4j-core</artifactId> 
    <version>1.4.0</version> 
</dependency> 

Dies wird Ihr Problem lösen. Wenn Sie erneut mit dem gleichen Problem konfrontiert sind, navigieren Sie zum Verzeichnis ~/.m2/repository/org/pac4j, löschen Sie alle heruntergeladenen Abhängigkeiten und erstellen Sie das Projekt erneut.

0

Ich habe ein ähnliches Problem gesehen, aber ich gelöste Abhängigkeit folgende

<dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
     </dependency> 
Verwandte Themen