【问题标题】:Java - Executable JarsJava - 可执行的罐子
【发布时间】:2014-12-12 04:08:25
【问题描述】:

我在 Netbeans IDE 8.0.1 中编写了一个名为 SampleChat 的 Java GUI 程序,并使用“清理和构建”功能创建了一个 jar 文件。

我转到 Netbeans 创建的“dist”目录并双击它生成的 jar 文件。 打开一个 cmd 窗口,其中包含以下行:

"Error: could not find or load main class.

但是,当我打开 cmd 时,切换到同一个 'dist' 目录并输入命令:

java -jar "SampleChat.jar"

程序运行良好。

我可以不使用 Netbeans 创建双击执行的 jar 文件吗?

我没有使用任何预先存在的 jar 文件来完成程序,因此没有“lib”目录或类似的东西。

我打算从 U 盘共享程序,因此唯一的要求是 JVM、鼠标和一些手指来双击它是至关重要的。

我想出的一个尴尬的解决方案是编写一个运行程序的批处理文件,但它要求 jar 文件不能移动 - 搞砸了。

那么如何让我的程序双击可执行?

【问题讨论】:

    标签: java netbeans jar


    【解决方案1】:

    我猜您缺少创建清单文件。因此不知道你的主类是什么。在从终端执行的 java 命令中,您定义了要执行的主类。

    根据您提到的任务,我猜您正在使用 gradle 来构建您的 jar?

    这里是http://www.gradle.org/docs/current/userguide/java_plugin.html 第 23.14.1 章 给出了一个清单示例。

    如果您添加attributes 'Main-Class': 'com.project.MainClass',它应该可以工作。

    BR

    【讨论】:

    • 我不明白我如何定义要从终端执行的主类。我只指定了jar文件?
    • 对不起,您是否尝试将清单添加到您的 gradle 任务中?当然你必须在那里添加你的主类的位置而不是你的 jar...
    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多