Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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_Jar_Console_Distribution - Fatal编程技术网

Java 分发可执行Jar控制台应用程序

Java 分发可执行Jar控制台应用程序,java,jar,console,distribution,Java,Jar,Console,Distribution,(使用JDK7) 我的一个朋友让我给他写一个程序,可以滚动任意数量和大小的骰子。所以我做了。为了简单起见,我将它保留为一个控制台应用程序。现在我正试着把它分发给他。我尝试使用Eclipse的内置导出器将其导出为可运行的Jar 在用Java(与javaw相反)打开它之后。。。什么也没发生。我可以在命令提示符关闭前截取它的屏幕,它显示: Error: Could not find or load main class C:\Users\Matt\Desktop\Roller.jar Roller.

(使用JDK7)

我的一个朋友让我给他写一个程序,可以滚动任意数量和大小的骰子。所以我做了。为了简单起见,我将它保留为一个控制台应用程序。现在我正试着把它分发给他。我尝试使用Eclipse的内置导出器将其导出为可运行的Jar

在用Java(与javaw相反)打开它之后。。。什么也没发生。我可以在命令提示符关闭前截取它的屏幕,它显示:

Error: Could not find or load main class C:\Users\Matt\Desktop\Roller.jar
Roller.jar的内容

META-INF/MANIFEST.MF
roller/Roller.class
MANIFEST.MF的内容:

Manifest-Version: 1.0
Class-Path:  . 
Main-Class: roller.Roller
Roller.java的内容:

public class Roller{
/* Irrelevant code expunged */
    public static void main(String[] args){
        //Irrelevant code expunged
    }
}

我想让它处于一种状态,我可以通过电子邮件给他发送.jar,他可以双击它来运行它。有人能帮忙吗?

在Roller.java中,您需要添加
包Roller
到类的顶部,以匹配JAR文件中Roller文件夹中的Roller.class。在此之后,您甚至不需要在清单文件中指定类路径。

如果它是控制台应用程序(或者即使不是),您实际上可以在控制台上运行它以获得更详细的错误消息。只需打开平台的命令行(
cmd
在Windows中),然后执行
java-jar/path/to/Roller.jar
。您不再需要截图来查看错误消息。@Matt G:“控制台应用程序”,“他可以双击它来运行”-我刚刚创建了一个类使之成为可能,这对您来说只是一个额外的调用: