我有一个名为helloworld.jar的JAR文件.为了运行它,我在命令行窗口中执行以下命令:
java -jar helloworld.jar
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如何通过双击执行它?我需要安装任何软件吗?
我的GUI出错了.尝试设置标题栏图标,然后将其包含在Runnable JAR中.
BufferedImage image = null;
try {
image = ImageIO.read(getClass().getClassLoader().getResource("resources/icon.gif"));
}
catch (IOException e) {
e.printStackTrace();
}
frame.setIconImage(image);
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at GUI.<init>(GUI.java:39)
at GUI.main(GUI.java:351)
Run Code Online (Sandbox Code Playgroud)
图像位于正确的目录中,"resources"文件夹是项目文件的根目录
第一:我意识到这个问题应该很简单,很多人似乎都经历过这个问题.但是,看来我的问题可能与现有帖子略有不同.
我正在使用NetBeans来编译Java应用程序.完成构建后,输出会正确进入dist \文件夹.那里有jar文件.如果我转到命令行,请导航到该文件夹,然后调用以下命令:
java -jar Prosperity.jar
一切正常.显然,应用程序的名称是Prosperity.以下命令也可以正常工作:
javaw -jar Prosperity.jar
但是,双击.jar文件会显示消息:"找不到主类:",然后提供.jar文件的路径.我已经检查过一百次.jar文件中存在META-INF文件夹,并且其中存在一个具有正确主类名称的MANIFEST.MF.我还检查了.jar文件中是否存在主类(App.class).class文件.
所以问题是:双击文件和运行javaw之间的区别是什么?它真的令人沮丧,它不会只是运行!
谢谢你可以给我的任何方向,我是tearin'我的头发在这里!
我提取了一个 jar 文件并对其进行了一些更改。现在,我如何将它再次压缩为可执行的 jar 文件?
谢谢。(对不起,我的英语不好。)