尝试运行.jar文件时出现NullPointerException
我刚刚开始学习Java,并且只知道少量的代码,但是,这仍然是一个简单的程序。它更多是一个恶作剧程序,但主要只是为了测试我是否可以创建一个jar文件。
这是代码:
import java.awt.*;  import java.awt.event.*;  
import java.lang.*;  
import java.util.Random;  
public class randommouse {  
    public static void main(String[] args) {  
        for (int i=1; i<1000; i++) {  
            Random rand = new Random();  
            int w = rand.nextInt(1024) + 1;  
            int h = rand.nextInt(768) + 1;  
            int t = rand.nextInt(2000) + 1;  
            try {  
                Robot r = new Robot();  
                r.mouseMove(w,h);  
                Thread.sleep(t);  
            } catch (AWTException e) {}  
            catch (InterruptedException e) {}  
            catch (NullPointerException e) {}  
        }  
    }  
}
我将其保存到名为的文件中randommouse.java,然后使用进行编译
javac randommouse.java这有效,当我使用运行它时
java randommouse它也可以正常工作。
因此,然后我尝试创建一个jar文件。我使用命令
jar cvf randommouse.jar randommouse.class而且有效。之后,我双击jar文件,它出现一个错误Java Exception。
所以我在cmd中运行它
java -jar randommouse.jar并得到这个错误
F:\Java>java -jar randommouse.jarException in thread "main" java.lang.NullPointerException
        at sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:3
99)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:463)
F:\Java>
我是否需要提出一个论点?如果是,我应该在哪里提出?
预先谢谢
山姆
回答:
从JDK文档:
为了使此选项起作用,JAR文件的清单必须包含以下格式的行:
Main-Class: classname在这里,类名标识具有公共静态void main(String []
args)方法的类,该方法用作应用程序的起点。有关使用Jar文件和Jar文件清单的信息,请参见Jar工具参考页和Java教程的Jar跟踪。
使用此选项时,JAR文件是所有用户类的源,而其他用户类路径设置将被忽略。
以上是 尝试运行.jar文件时出现NullPointerException 的全部内容, 来源链接: utcz.com/qa/414595.html

