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文件。