gpt4 book ai didi

java - 创建 JAR 文件时遇到问题

转载 作者:行者123 更新时间:2023-12-02 05:53:03 24 4
gpt4 key购买 nike

我已经尝试了几个小时将我编写的程序转换为 JAR 文件,但我发现的示例似乎都不起作用。我使用 JCreator 编写代码,并且对使用命令提示符不是特别熟悉。如果有人可以尝试引导我制作 JAR 文件,我相信我可以提出问题并创建一个。

最佳答案

在 Java 中,通常将多个类合并到一个 .jar(“java 存档”)文件中。库类就是这样存储的。较大的项目(例如 AP 程序中的案例研究)使用 jar 文件。您也可以结合多个类来创建自己的 jar 文件。

jar 文件是使用 JDK 中的 jar.exe 实用程序创建的。您可以通过告诉 jar.exe 哪个类具有 main.jar 文件来使您的 jar 文件可运行。为此,您需要创建一个 list 文件。 list 是一个带有“Main-Class”指令的单行文本文件。例如:

Main-Class: Craps

该行必须以换行符结尾。

使用主类 list 创建的 jar 文件既可以用作库,也可以用作可运行的 jar。如果将其用作库,则可以编辑和编译 jar 中包含的任何类,并将其添加到您的项目中。然后它会覆盖jar文件中的。

您可以在任何文本编辑器中创建 list 文件,甚至可以使用 MS-DOS echo 命令创建 list 文件。您可以为 list 文件指定任何名称,但最好使用标准名称,例如manifest.txt。

一旦您有了 list 并且所有类都已编译,您需要运行 JDK 的 jar.exe 实用程序。它位于 JDK 的 bin 文件夹中,与 javac.exe 和 java.exe 所在的位置相同。 jar.exe 接受命令行参数;如果不带任何参数运行它,它将显示使用信息和示例。你需要

C\mywork> jar cvfm MyJarName.jar manifest.txt *.class

cvfm 的意思是“创建一个 jar;显示详细输出;指定输出 jar 文件名;指定 list 文件名。”接下来是您希望为 jar 文件指定的名称、 list 文件的名称以及您希望包含在 jar 中的 .class 文件的列表。 *.class表示当前目录下的所有class文件。

实际上,如果您的 list 仅包含 Main-Class 指令,您可以使用 e 开关(而不是 m)直接在 jar.exe 的命令行上指定主类。那么你就不需要单独的 list 文件; jar 将为您将所需的 list 添加到您的 jar 文件中。例如:

C\mywork> jar cvfe MyJarName.jar MyMainClass *.class

下面是在命令提示符和 JCreator 中创建 jar 文件的详细步骤的引用。

在 JCreator 中创建 jar 文件

您可以配置一个“工具”来自动执行 jar 创建过程。您只需执行一次。

  1. 点击“配置/选项”。
  2. 点击左栏中的“工具”。
  3. 单击“新建”,然后选择“创建 Jar 文件”。
  4. 点击左栏中“工具”下新创建的“创建 Jar 文件”条目。
  5. 编辑标记为 Arguments 的中间行:它应该有

    cvfm $[PrjName].jar manifest.txt *.class

  6. 单击“确定”。

在命令提示符中创建 jar 文件

  1. 启动命令提示符。
  2. 导航到保存类文件的文件夹:

    C:\>cd\mywork

  3. 设置路径以包含 JDK 的 bin。例如:

    C:\mywork> 路径 c:\Program Files\Java\jdk1.7.0_25\bin;%path%

  4. 编译您的类:

    C:\mywork> javac *.java

  5. 创建 list 文件和 jar 文件:

    C:\mywork> echo 主类:Craps >manifest.txt
    C:\mywork> jar cvfm Craps.jar manifest.txt *.class

    C:\mywork> jar cvfe Craps.jar Craps *.class

  6. 测试你的 jar:

    C:\mywork> Craps.jarC:\mywork> java -jar Craps.jar

关于java - 创建 JAR 文件时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23363074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com