有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java当我正确地导入了所述类并在其目录中查看它时,为什么我会得到ClassNotFoundExpection?

这是我的Javac编译语句:

javac -cp "C:\java\code\j3D\j3dcore.jar;C:\java\code\j3D\j3dutils.jar;C:\java\code\j3D\vecmath.jar" Simple.java

  • 编译没有问题

这三个jar文件(j3dcorej3dutilsvecmath)是我的程序的基本jar文件(或者至少根据this official tutorial on J3D让我相信)

记录在案,我几乎从上面的pdf文件中撕下了这段代码

  • jar文件正确地位于引用的位置

当我运行我的Simple程序时,(java Simple)我会收到一个

Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/j3d/Cavas3d Caused by: java.lang.ClassNotFoundExpection: javax.media.j3d.Canvas3D

目前,我直接盯着这个位于j3dcore.jar\javax\media\j3d\内的Canvas3D.class

这是什么。jpg

以下是源代码:

//First java3D Program
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.awt.GraphicsConfiguration;

public class Simple extends Applet {
    public Simple() {
        setLayout(new BorderLayout());
        GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
        Canvas3D canvas3D = new Canvas3D(config);
        add("Center", canvas3D);

        BranchGroup scene = createSceneGraph();
        scene.compile();

        // SimpleUniverse is a Convenience Utility class
        SimpleUniverse simpleU = new SimpleUniverse(canvas3D);

        // This moves the ViewPlatform back a bit so the
        // objects in the scene can be viewed.
        simpleU.getViewingPlatform().setNominalViewingTransform();

        simpleU.addBranchGraph(scene);
    }   // end of HelloJava3Da (constructor)
    public BranchGroup createSceneGraph() {
        // Create the root of the branch graph
        BranchGroup objRoot = new BranchGroup();

        // Create a simple shape leaf node, add it to the scene graph.
        // ColorCube is a Convenience Utility class
        objRoot.addChild(new ColorCube(0.4));

        return objRoot;
    }
    public static void main(String args[]){
        Simple world = new Simple();
    }
}
  1. 我的输入正确吗
  2. 我是否在Javac语句中错误地引用了jar文件
  3. 如果我在正确的目录中清楚地看到Canvas3D,为什么java找不到它
  4. j3dcore.jarvecmath.jar中的第一个文件夹都是“javax”。编译器是否感到困惑
  5. 如果编译器感到困惑,我该如何指定在引用该类时在何处找到该类 在我的源代码中

共 (0) 个答案