无法创建JAR文件

时间:2014-04-29 11:14:08

标签: java jar

我已经花了好几个小时把我写的程序变成了一个JAR文件,我发现的所有例子似乎都没有用。我使用JCreator编写代码,并且我对使用命令提示符并不是特别熟悉。如果有人可以试着指导我制作一个JAR文件,我确信我可以提出问题并创建一个。

1 个答案:

答案 0 :(得分:2)

在Java中,通常将多个类组合在一个.jar(" java archive")文件中。库类以这种方式存储。较大的项目(例如AP程序中的案例研究)使用jar文件。您也可以创建自己的jar文件,组合几个类。

使用JDK的jar.exe实用程序创建

jar文件。您可以通过告诉jar.exe哪个类具有main来使您的jar文件可运行。为此,您需要创建清单文件。清单是一个带有" Main-Class"的单行文本文件。指示。例如:

  

Main-Class:Craps

此行必须以换行符结尾。

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

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

一旦你有一个清单并且你的所有类都已编译完毕,你需要运行JDK的jar.exe实用程序。它位于JDK的bin文件夹中,与javac.exe和java.exe所在的位置相同。 jar.exe接受命令行参数;如果你在没有任何参数的情况下运行它,它将显示用法信息和示例。你需要

  

c ^ \ MYWORK> jar cvfm MyJarName.jar manifest.txt * .class

cvfm意味着"创造一个罐子;显示详细输出;指定输出jar文件名;指定清单文件名。"接下来是您希望提供给jar文件的名称,清单文件的名称以及要包含在jar中的.class文件列表。 * .class表示当前目录中的所有类文件。

实际上,如果清单只包含Main-Class指令,则可以使用e开关直接在jar.exe的命令行中指定主类,而不是m。那你就不需要一个单独的清单文件了; jar会为您的jar文件添加所需的清单。例如:

  

c ^ \ MYWORK> jar cvfe MyJarName.jar MyMainClass * .class

以下是在命令提示符和JCreator中执行此操作的详细步骤中创建jar文件的参考。

在JCreator中创建jar文件

您可以配置"工具"这将自动化jar创建过程。你只需要做一次。

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

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

  6. 单击“确定”。

  7. 在命令提示符下创建jar文件

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

      C:\>cd \mywork

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

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

    4. 编译您的班级:

      C:\mywork> javac *.java

    5. 创建清单文件和您的jar文件:

      C:\mywork> echo Main-Class: Craps >manifest.txt
      C:\mywork> jar cvfm Craps.jar manifest.txt *.class

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

    6. 测试你的罐子:

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