Java类路径问题

时间:2011-04-20 13:12:38

标签: java classpath

我在运行以下代码时遇到错误:

import java.awt.*;
import javax.swing.*;

import org.fife.ui.rtextarea.*;
import org.fife.ui.rsyntaxtextarea.*;

public class TextEditorDemo extends JFrame {

   private static final long serialVersionUID = 1L;


   public TextEditorDemo() {

      JPanel cp = new JPanel(new BorderLayout());

      RSyntaxTextArea textArea = new RSyntaxTextArea();
      textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
      RTextScrollPane sp = new RTextScrollPane(textArea);
      cp.add(sp);

      setContentPane(cp);
      setTitle("RSyntaxTextArea 1.4 - Example 1 - Text Editor Demo");
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      pack();
      setLocationRelativeTo(null);

   }

   public static void main(String[] args) {
      // Start all Swing applications on the EDT.
      SwingUtilities.invokeLater(new Runnable() {
         public void run() {
            new TextEditorDemo().setVisible(true);
         }
      });
   }
}

当我使用java -classpath rsyntaxtextarea.jar;. TextEditorDemo运行时,我没有得到输出。  我的错误反而是:

Exception in thread "main" java.lang.NoClassDefFoundError: TextEditorDemo
Caused by: java.lang.ClassNotFoundException: TextEditorDemo
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: TextEditorDemo.  Program will exit.

任何人都可以帮忙!此示例取自RSyntaxTextArea

2 个答案:

答案 0 :(得分:1)

这是类路径的问题。

java -classpath rsyntaxtextarea.jar;. TextEditorDemo

根据目前的设置,vm将在运行“java”的同一目录中找到“TextEditorDemo.class”,并且“rsyntaxarea.jar”也在该目录中。检查这些文件是否确实在当前目录中。如果没有,请将所需的路径信息添加到jar,以及TextEditorDemo.class文件的位置。

编辑:原始类路径有“;”。最后 - 问题已被编辑并删除。 的;是必要的,以便从当前目录加载类。

答案 1 :(得分:1)

你的类路径错了。它只会在jar文件中找到类。要知道如何将类路径设置为jar文件和类,请在此问题中查看我的答案:compile sample.java and jgraph_5.8.3.1.jar