【问题标题】:Can't run the jar file nor in Cmd无法运行 jar 文件,也无法在 Cmd 中运行
【发布时间】:2018-09-24 19:30:56
【问题描述】:

我对编程完全陌生。我刚开始使用Java,目前在BlueJ上工作。我的操作系统是windows。我对编码不太了解。所以基本上我只是做了一个程序。就在这里

class  Vedant {
    public static void main(String[] args) {
        int a;
        a = 1;
        if (20>a);
        a = 5;

        {
            System.out.println("Number ="+a);
        }
    }
}

我将它保存为 Jar 文件。当我双击 jar 文件时它没有打开。我已经安装了最新版本的 Java。如果我用 cmd 打开我得到一个错误:无法访问 jar 文件。 我尝试使用 Launch4J 将 jar 文件转换为 exe,但 exe 文件无法打开。任何帮助

是的,我是 Java 的极限初学者,所以我不太了解它。

【问题讨论】:

  • "我将它保存为 Jar 文件。" - 你是怎么做到的?我假设您使用了jar 命令?如果是这样,请包括用于生成 jar 的确切命令。 “当我双击 jar 文件时它不会打开。” - 您需要指定要启动的类(这就是 jar 存档中的 META-INF 文件夹和 manifest.mf 文件是给)。如果您没有指定它,请尝试运行java -cp /path/to/your.jar YourClassContainingTheMain
  • @Turing85 我想你的意思是-cp 而不是-jar
  • @VGR 在这种情况下是-cp 吗?我的印象是jar 也应该是可能的...... ^^ 将编辑我的最后一条评论。
  • @Vedant 您还需要检查您的 PATH 变量,如果不存在则将 java 添加到 PATH
  • 我冒昧地重新编写了您的代码。几点说明:int a; a = 1; 可以简化为int a = 1; - if (20>a); 尾随分号赢基本上“禁用”if(分号表示“如果您输入if,则不执行任何操作)。您打开一个块之后的代码。我想你想在if之后打开块。

标签: java windows bluej


【解决方案1】:

您需要使用终端打开文件。

由于您是 windows 用户,您可以使用命令提示符

  1. Win+R 打开命令提示符,输入cmd 并按Enter
  2. 使用此命令在命令提示符下运行您的文件。

    java -jar (jar 文件的完整路径)

如果您收到显示找不到 java 的错误消息,请确保您的 PC 中安装了 java。

如果已安装,请在系统环境变量中设置 Java 路径。

here 给出了如何设置 Java 路径的分步过程。

设置好你的java路径后,你就可以使用命令运行你的jar文件了。

注意事项:

  • 从 BlueJ 创建 Jar 文件时,从下拉列表中选择主类作为“Vedant”。默认情况下,选择无(无法执行)。

之后就可以成功执行了: (将C:\Users\Midhun\Desktop\vedant.jar替换为你的jar文件的链接)

C:\Users\Midhun>java -jar C:\Users\Midhun\Desktop\vedant.jar
Number =5

如果在创建jar文件时没有选择主类,会报如下错误。

C:\Users\Midhun>java -jar C:\Users\Midhun\Desktop\vedant.jar
Error: Could not find or load main class 

您可以通过使用主类重新创建 jar 或执行以下命令来克服此错误

C:\Users\Midhun>java -cp C:\Users\Midhun\Desktop\vedant.jar Vedant
Number =5

C:\Users\Midhun\Desktop\vedant.jar 是 jar 文件的完整路径,Vedant 是您要从 jar 文件运行的主类的名称。

如果您提供错误的 jar 文件链接,您将收到问题中提到的以下错误。

C:\Users\Midhun\Desktop>java -jar C:\Users\Midhun\Desktop\vedan.jar
Error: Unable to access jarfile vedan.jar

【讨论】:

  • 它让我无法找到或加载主类文件夹\新文件夹..无论如何感谢您的回复
  • @Vedant 查看我编辑的答案。我重现了您遇到的相同错误。重新创建选中 main class 的 jar 文件。如果你把它留空,你会得到Error: Could not find or load main class
  • :C .. 无法访问 jar 文件
  • 您是否重新创建了 jar 文件?以及您将文件保存在哪里以及您尝试执行它的方式。尝试使用java -jar (Full path to jar file) 示例:java -jar C:\Users\Vedant\Documents\vedant.jar jar 文件的位置错误时会得到错误 `Unable to access jar file`。
  • 其他信息: 您也可以在不选择主类的情况下运行 jar,C:\Users\Midhun>java -cp C:\Users\Midhun\Desktop\vedant.jar Vedant 其中C:\Users\Midhun\Desktop\vedant.jar 是指向 JAR 文件的链接,Vedant 是您要运行的 jar 文件中的主类的名称。
【解决方案2】:

您可以创建一个包含以下文本的 .cmd 文件: java -jar path_for_your_jar_file

保存并单击该文件。它将启动您的程序(这是程序,而不是每次都进入命令提示符)。

【讨论】:

猜你喜欢
  • 2013-07-04
  • 1970-01-01
  • 2013-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-16
  • 2023-03-28
相关资源
最近更新 更多