我尝试使用“java start/HelloWorldSwing”运行,但它会显示“NoClassDefFoundError”的错误。我使用javac也没有出现任何错误。以下是来自教程的代码:
import javax.swing.*;
public class HelloWorldSwing {
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add the ubiquitous "Hello World" label.
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
编辑:使用javaw
窗口弹出
"发生了一个Java异常"
另一个窗口
"错误:找不到主类。 错误:发生了JNI错误,请检查您的安装并重试。"
以前从未遇到过运行任何Java程序的问题,我漏掉了什么吗?有没有办法知道是什么问题?
我也在同一路径下运行命令,其中包括.java和.class文件。
在编译程序的路径中没有“start”文件夹。
编辑2 我尝试了start / HelloWorldSwing和HelloWorldSwing两种方式。
使用javac时我没有任何错误。当我使用javaw时,我会得到两个弹出窗口,其中包含之前输入的消息,并且java会给我NoClassDefFoundException,然后谈论ClassLoader等内容。
编辑3 通过删除“package start;”行,我使它工作了。如果要让它正常工作,我需要做什么?
现在已经删除了包行,javaw也可以工作。