2017-06-18 65 views
0

我正在編寫一個基於模塊的應用程序,因此它將其他jar文件加載到類路徑中。這個應用程序的一個模塊是一個RestAPI。對於RestAPI,我使用Spark Java。現在我的問題是,一個類不能被加載。 例外看起來如下:Spark Java ClassNotFound

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

我居然陰影類到我罐子。

我還嘗試過:

我試圖通過Class#forName手動加載它。這確實沒有拋出異常。我嘗試使用URLClassLoader加載整個jar文件。沒有工作。

感謝所有幫助

+0

依賴管理系統(如果有的話),你使用的是哪個? –

+0

我實際上使用maven,依賴管理似乎絕對正常。我已經對我自己的jar文件進行了反編譯,並且所有內容都是必須的。 –

回答

0

下載這個包從波紋管鏈接: -

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

或者

如果您使用的是依賴管理(Maven的,SBT,常青藤,搖籃等)複製並粘貼相應的依賴項。如果您正在使用依賴關係管理器,那麼解決此異常就完全可以解決。

+0

謝謝你的回答,但我真的知道如何使用maven。但問題實際上可能是類加載器,因爲我開發了一個模塊化應用程序。 –

0

如果您使用的是Maven構建工具,請在您的pom.xml中添加以下依賴項屬性。

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

這將解決您的問題。如果您再次遇到同樣的問題,請導航至~/.m2/repository/org/pac4j目錄,刪除下載的所有依賴項並重新生成項目。

0

我已經看到了類似的問題,但我解決了以下相關

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