尝试运行.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.jar

Exception 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

回到顶部