相关疑难解决方法(0)

如何解决java.lang.NoClassDefFoundError?

我在Oracle的Java教程中尝试过这两个例子.它们都编译得很好,但在运行时,都会出现这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: graphics/shapes/Square
    at Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: graphics.shapes.Square
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

我想我可能将Main.java文件放在错误的文件夹中.这是目录层次结构:

graphics
? Main.java
? shapes
|   ? Square.java
|   ? Triangle.java
? linepoint
|   ? Line.java
|   ? Point.java
? spaceobjects
|   ? Cube.java
|   ? RectPrism.java
Run Code Online (Sandbox Code Playgroud)

这是Main.java:

import graphics.shapes.*;
import graphics.linepoint.*
import graphics.spaceobjects.*;

public class Main {
    public static void main(String …
Run Code Online (Sandbox Code Playgroud)

java packages exception noclassdeffounderror

203
推荐指数
7
解决办法
102万
查看次数

java.lang.NoClassDefFoundError:无法初始化类XXX

public class PropHolder {
  public static Properties prop;

  static {
    //code for loading properties from file
  }
}

// Referencing the class somewhere else:
Properties prop = PropHolder.prop;
Run Code Online (Sandbox Code Playgroud)

class PropHolder是我自己的一类.该类驻留在主类的同一JAR文件中.所以这不应该因为类路径中缺少任何JAR.

当我查看JAR文件时jar tf myjarfile,我可以看到PropHolder.class列出的那个.

顺便说一句:代码在我的本地机器上正常运行.但是当我将一些脚本部署到Linux服务器上时,它无法工作.所以我认为这不是代码的问题.但出于某种原因.部署过程很难跟踪.

可能是什么问题呢?

java runtime jar noclassdeffounderror

154
推荐指数
4
解决办法
35万
查看次数

标签 统计

java ×2

noclassdeffounderror ×2

exception ×1

jar ×1

packages ×1

runtime ×1