【问题标题】:Runnable Jar Opening Error (Calculator Program)Runnable Jar 打开错误(计算器程序)
【发布时间】:2013-09-02 07:36:29
【问题描述】:

我将我的程序(包括代码)导出到桌面上的可运行 JAR 文件中。当我双击它时,什么也没有发生。我认为我没有任何代码错误,但我不知道为什么它不起作用。代码如下:

import java.util.Scanner;

public class JCalc {

public static void main(String[] args) {
    Scanner myScanner = new Scanner(System.in);
    int num1;
    int num2;
    int num3 = 0;
    int rem = 0;

    System.out.println("Welcome to JCalc!  The best calculator ever!");
    System.out.print("Please enter the first number: ");

    num1 = myScanner.nextInt();

    System.out.print("Please enter the second number: ");

    num2 = myScanner.nextInt();

    System.out.print("Please enter an operator (+, -, %, *): ");

    String op = myScanner.next();

    if ("+".equals(op)) {
        num3 = num1 + num2;
    }

    if ("-".equals(op)) {
        num3 = num1 - num2;
    }

    if ("%".equals(op)) {
        num3 = num1 / num2;
        rem = num1 % num2;
    }

    if ("*".equals(op)) {
        num3 = num1 * num2;
    }
    System.out.print("The answer is: ");
    System.out.print(num3);

    if ("%".equals(op)) {
        System.out.print(" with a remainder of ");
        System.out.println(rem);
    }
}
}

【问题讨论】:

  • 你需要在manifest文件中添加Main Class。还要确保 javaw.exe 在双击时被调用。
  • 我在哪里以及如何做到这一点?我刚开始学习 Java,所以我对这意味着什么一无所知。
  • 您的 jar 需要包含一个名为 META-INF 的文件夹,您需要在其中创建一个名为 manifest.mf 的文件
  • 基于命令行界面的程序不适合通过双击启动,因为它们没有可见的输入/输出控制台。

标签: java eclipse jar desktop-application executable-jar


【解决方案1】:

一个可运行的 JAR 可以通过命令行执行(注意你必须在 Jar 所在的目录中!):

java -jar JCalc.jar

如果你想通过双击来启动 Jars,你必须这样做:

对于 Windows 7:

  • 第 1 步:启动控制面板
  • 第 2 步:点击默认程序
  • 第 3 步:点击将文件类型或协议与特定程序关联
  • 第四步:双击.jar
  • 第 5 步:浏览 C:\Program Files\Java\jre7\bin\javaw.exe
  • 第 6 步:单击“打开”按钮
  • 第 7 步:单击“确定”按钮

这对 UI 应用程序非常有用

【讨论】:

  • 点击打开后,它不会更改默认程序。它只是关闭,没有任何反应。我现在该怎么办?
  • 它只是说 jar 不存在,但它就在我的桌面上作为 Calculator.jar
  • 当我运行它时它说无法访问它
  • 抱歉所有问题,但是如何在命令行中更改目录?
  • cd 然后是你要重定向到的文件夹
【解决方案2】:

您已经创建了一个命令行应用程序,一个命令行应用程序需要一个命令行终端,而大多数操作系统不会自动为您创建一个。

如果您使用的是 Windows,则需要打开 cmd.exe 并从那里运行程序,或者创建一个 .bat 文件来执行以下操作:

java -jar thejar.jar
pause

【讨论】:

    【解决方案3】:

    请确保:

    • 您在 Windows 上直接安装了 JRE
    • JAR 文件类型与 JRE 安装中的 javaw.exe 相关联。最简单的方法是右键单击文件,然后选择"Open With"。如果此选项不存在,则 no 关联存在,您可以使用"Open" 定义它。 "Open With" 允许更正不需要的关联。

    我假设JAR 已正确生成为可执行文件。如果您使用zip 工具打开它,您是否看到MANIFEST.MF 引用您的主类?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 2018-01-25
      相关资源
      最近更新 更多