Java创build.jar文件

我正在学习Java,我有一个问题。 我创build了6个不同的类,每个类都有自己的main()方法。 我想为每个类创build可执行文件.jar ,即6个可执行文件.jar文件。

到目前为止我尝试过

 java -jar cf myJar.jar myClass.class 

我得到'无法访问jarfile cf' 。 我做错了什么,但我不知道是什么。 如果这意味着什么,我也使用Eclipse IDE。

为了创build一个.jar文件,你需要使用jar而不是java

 jar cf myJar.jar myClass.class 

另外,如果你想让它可执行,你需要为你的应用程序指定一个入口点 (例如,一个带有public static void main(String[] args) )的类。 这通常通过创build一个包含Main-Class头文件的清单文件(例如, Main-Class: myClass )来完成。

但是,正如Mark Peters指出的那样,在JDK 6中,可以使用e选项来定义入口点:

 jar cfe myJar.jar myClass myClass.class 

最后,你可以执行它:

 java -jar myJar.jar 

也可以看看

  • 创build一个JAR文件
  • 使用JAR工具设置应用程序的入口点

正如你已经提到过你正在使用Eclipse … Eclipse可以为你创buildJAR,只要你运行了每个拥有一个main的类。 右键单击该项目,然后单击导出,然后selectJava文件夹下的“Runnable JAR文件”。 在启动configuration中select类名,select一个保存jar的地方,并根据需要决定如何处理库。 点击完成,在裤子上擦手。

通常情况下,您需要比使用-e开关获得更多的清单,在这种情况下,语法是:

 jar -cvfm myJar.jar myManifest.txt myApp.class 

其中的内容如下:“创build详细的jarFilename manifestFilename”,然后是要包含的文件。

请注意,您提供的清单文件的名称可以是任何东西,因为jar会自动重命名并将其放在jar文件的正确位置。

方式1:

让我们拥有包含主类testa的java文件test.java,现在我们首先编译我们的java文件,简单地作为javac test.java,我们在同一个目录下创build文件manifest.txt,然后编写Main-Class:mainclassname。 例如:

  Main-Class: testa 

那么我们通过这个命令创buildjar文件:

  jar cvfm anyname.jar manifest.txt testa.class 

那么我们通过这个命令运行jar文件:java -jar anyname.jar

方式2:

让我们有一个名为一个包,每个类都在里面。 那么我们通过这个命令创buildjar文件:

  jar cf anyname.jar one 

那么我们在anyname.jar文件的META-INF目录下打开manifest.txt并写入

  Main-Class: one.mainclassname 

在第三行,然后我们用这个命令运行jar文件:

  java -jar anyname.jar 

使jar文件具有多个类文件:jar cf anyname.jar one.class two.class three.class ……

把所有6个class级放到6个不同的项目中。 然后创build所有6个项目的jar文件。 这样你将得到6个可执行的jar文件。