Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确导出jar文件?_Java_Export_Main - Fatal编程技术网

Java 如何正确导出jar文件?

Java 如何正确导出jar文件?,java,export,main,Java,Export,Main,我的意思是我试着像这样导出我的java游戏:export>Jar文件,但如果我这样做,它就不会启动 如果我导出到可执行jar文件,它不会将我的资源导出到jar文件中 我的意思是,如果我在eclipse中玩游戏,声音就会正常工作。但如果我导出到可执行jar文件,它就不起作用了。我猜它也不会输出声音 这是我试图用来启动jar文件的代码: java jar-cvfe ProjectZero.jar Main.Launcher Main.Launcher.class以下是解决此问题的两种解决方案,希望这

我的意思是我试着像这样导出我的java游戏:export>Jar文件,但如果我这样做,它就不会启动

如果我导出到可执行jar文件,它不会将我的资源导出到jar文件中

我的意思是,如果我在eclipse中玩游戏,声音就会正常工作。但如果我导出到可执行jar文件,它就不起作用了。我猜它也不会输出声音

这是我试图用来启动jar文件的代码:


java jar-cvfe ProjectZero.jar Main.Launcher Main.Launcher.class

以下是解决此问题的两种解决方案,希望这足够清楚:

解决方案#1-您需要JAR文件之外的资源

只需将包含资源的文件夹复制/粘贴到包含JAR文件的同一文件夹中。(确保目录与应用程序中提到的路径匹配。)

解决方案#2-您希望将资源放在JAR文件中

如果希望资源直接包含在JAR文件中,可以使用函数getResource()获取图像/声音。然后确保资源在“/src”和“/bin”文件夹中都可见

例如,如果您有以下应用程序代码:

ImageIcon myIcon = new ImageIcon(this.getClass().getResource("/resources/icon.gif")); 
您的文件应在以下位置可见:

/myApp/src/resources/icon.gif
/myApp/bin/resources/icon.gif

然后您可以将应用程序导出为JAR文件,它将包含资源。

它给了我一个错误。。无法实例化JComponent()。。我目前正在使用eclipse,所以这可能是一个问题,而且setIcon(myIcon)的类型没有定义JComponent@VerdesAndrei是否使用Eclipse并不重要。这段代码只是一个例子。您应该只注意“this.getClass().getResource(“/resources/icon.gif”)”来检索资源的路径。