Java 分发可执行Jar控制台应用程序
(使用JDK7) 我的一个朋友让我给他写一个程序,可以滚动任意数量和大小的骰子。所以我做了。为了简单起见,我将它保留为一个控制台应用程序。现在我正试着把它分发给他。我尝试使用Eclipse的内置导出器将其导出为可运行的Jar 在用Java(与javaw相反)打开它之后。。。什么也没发生。我可以在命令提示符关闭前截取它的屏幕,它显示: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.
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:“控制台应用程序”,“他可以双击它来运行”-我刚刚创建了一个类使之成为可能,这对您来说只是一个额外的调用: