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