当前位置: 首页 > 面试题库 >

Java 如何运行JAR文件

商皓
2023-03-14
问题内容

我创建了一个JAR文件,如下所示:

jar cf Predit.jar *.*

我通过双击运行了这个JAR文件(它不起作用)。因此,我从DOS提示符运行了它,如下所示:

java -jar Predit.jar

它引发了“无法加载主类”异常。所以我提取了这个JAR文件:

jar -xf Predit.jar

我运行了类文件:

java Predit

运行良好。我不知道为什么JAR文件不起作用。请告诉我运行JAR文件的步骤


问题答案:

你需要在jar文件清单中指定Main-Class。

Oracle的教程包含完整的演示,但是这是从头开始的另一个示例。你需要两个文件:

Test.java:

public class Test
{
    public static void main(String[] args)
    {
        System.out.println("Hello world");
    }
}
manifest.mf:

Manifest-version: 1.0
Main-Class: Test

请注意,文本文件必须以换行符或回车符结尾。如果最后一行未以新行或回车结尾,则将无法正确解析。

然后运行:

javac Test.java
jar cfm test.jar manifest.mf Test.class
java -jar test.jar

输出:

Hello world


 类似资料:
  • 问题内容: 我被要求构建一个Java系统,该系统在运行时能够加载新代码(扩展)。我的代码运行时如何重新加载jar文件?或如何加载新的jar? 显然,由于持续的正常运行时间很重要,因此,我想增加在此过程中重新加载现有类的功能(如果这样做不会使事情复杂化)。 我应该注意什么?(将其视为两个不同的问题-一个关于在运行时重新加载类,另一个关于添加新类)。 问题答案: 用现有数据重新加载现有类可能会破坏事情

  • 问题内容: 我在Bean Shell Sampler中尝试了以下方法; 看来,它无法运行。.我是否以正确的方式进行操作? 问题答案: 如果您需要使用Beanshell进行此操作,建议对process命令行进行以下修改: 有关更多信息,请参见cmd.exe文档。 但是,在大多数情况下,使用OS Process Sampler 可能更容易,它允许执行任意命令和程序。了解如何从JMeter本地和远程运行

  • 我有一个从Eclipse导出的jar文件(Runnable JAR 在java中,如果在清单中设置主类。可以运行的xml: 如果您想在jar文件中运行另一个主类,或者如果您没有在清单中设置主类。可以运行的xml: 在Hadoop中,如果在清单中设置了main类。可以运行的xml: 如果您键入: 它将MyOtherMainClass视为jar原始主类的“args”数组中的参数(而不是要运行的类)。

  • 当我使用相对路径时,我可以从Eclipse运行Java程序。但是,当我将其作为JAR文件运行时,该路径不再有效。在我的src/components/SettingsWindow中。我有:

  • 问题内容: 我已使用以下语句使用此博客中的java文件创建了jar文件 现在我已经尝试通过命中和尝试各种命令在hadoop中运行此jar 1个 输出: 2。 输出: 如何在hadoop中运行jar?根据程序需要,我具有正确的DFS位置。 问题答案: 我能够重现您的问题。问题是您要在哪里创建罐子。 基本上,要打包到jar中的目录在查找主类文件时会混淆jar文件。相反,如果您尝试这样做: 例如,将类文

  • 问题内容: 为什么用Java这么难?如果要使用任何类型的模块系统,则需要能够动态加载JAR文件。有人告诉我,有一种方法可以通过编写自己的方法来完成,但这对于(至少在我看来)应该像调用以JAR文件作为其参数的方法一样容易的事情来说是很多工作。 对执行此操作的简单代码有何建议? 问题答案: 很难的原因是安全性。类加载器是不可变的。你不应在运行时随意向其添加类。实际上,我很惊讶能与系统类加载器一起使用。