簡體   English   中英

線程“ main”中的異常java.lang.NoClassDefFoundError:org / javatuples / Unit

[英]Exception in thread “main” java.lang.NoClassDefFoundError: org/javatuples/Unit

我已經在Eclipse項目中導入了javatuples-1.2.jar。 我這樣做是為了運行Java Tuples Unit類程序。 以下是代碼:

 package mynewpackage;
 import org.javatuples.Unit; 

 class Mynewclass2 { 
  public static void main(String[] args) 
   { 
    Unit<String> u 
        = new Unit<String>("This is demo text!"); 

    System.out.println(u); 
   } 
 } 

但是,在運行時出現以下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/javatuples/Unit
    at mynewpackage.Mynewclass2.main(Mynewclass2.java:9)
Caused by: java.lang.ClassNotFoundException: org.javatuples.Unit
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 1 more

在引用下,我可以輕松地看到已成功添加了元組jar文件。 但是,以下是項目目錄,引用中的jar,錯誤以及Eclipse中的整個程序。

帶有Java元組的Eclipse項目目錄

如何解決該問題並正確運行Java Tuples程序?

右鍵單擊javatuples-1.2.jar>構建路徑>添加到構建路徑。

NoClassDefFoundError是Java運行時系統嘗試加載類的定義時拋出的錯誤,並且該類定義不再可用。

歡迎發表評論。

您已經安裝了Java 11 ...

當我(嘗試)重現您的設置時:

  1. 我的日食(版本:2018-12(4.10.0),Win_64_jdk_11.0.2)要求我提供“模塊名稱”,並在創建“ Java項目”后添加src/module-info.java ,然后下載並添加lib/javatuples-1.2.jar構建路徑。

  2. 當我嘗試在代碼(主類)中使用/導入它時-編譯錯誤,並且自動更正建議我向模塊信息中添加“ javatuples”模塊:

點擊率:

myproject / src / module-info.java

module myproject {
   requires javatuples;
}

之后,該程序已經可以運行,但是Eclipse警告

Name of automatic module 'javatuples' is unstable, it is derived from the module's file name.

解決此問題,可以運行(從命令行):

myproject>jar --file=lib/javatuples-1.2.jar --describe-module
No module descriptor found. Derived automatic module.

javatuples@1.2 automatic
requires java.base mandated
contains org.javatuples
contains org.javatuples.valueintf

因此,日食警告已經有點麻煩了: javatuples是“正確的”模塊名稱。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM