异常在线程“主要” java.lang.NoClassDefFoundError:组织/ javatuples /股

问题描述 投票:0回答:2

我已导入在Eclipse项目中的javatuples-1.2.jar。我这样做是为了运行Java元组单位类节目。以下是代码:

 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文件。但是,以下是该项目目录,参考文献,错误罐子和Eclipse中的整个程序。

Eclipse Project Directory with Java Tuples

如何解决这个问题,并正确地运行Java程序的元组?

java eclipse jar tuples executable-jar
2个回答
1
投票

你在的地方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.

[email protected] automatic
requires java.base mandated
contains org.javatuples
contains org.javatuples.valueintf

因此,日食警告已经是有点讨厌:javatuples是“正确”的模块名称。

希望能帮助到你。


1
投票

右键单击javatuples-1.2.jar>构建路径>添加到构建路径。

NoClassDefFoundError的是一个错误,当Java运行时系统尝试加载类的定义时抛出,那类的定义不再可用。

注释是欢迎。

© www.soinside.com 2019 - 2024. All rights reserved.