我正在学习Java,但我遇到了问题.我创建了6个不同的类,每个类都有自己的main()
方法.我想.jar
为每个类创建可执行文件,即6个可执行.jar
文件.
到目前为止我试过了
java -jar cf myJar.jar myClass.class
Run Code Online (Sandbox Code Playgroud)
我得到'无法访问jarfile cf'.我做错了什么,但我不知道是什么.如果这意味着什么,我也在使用Eclipse IDE.
Joã*_*lva 112
要创建.jar文件,您需要使用jar
而不是java
:
jar cf myJar.jar myClass.class
Run Code Online (Sandbox Code Playgroud)
此外,如果您想使其可执行,您需要为您的应用程序指明一个入口点(即,一个类public static void main(String[] args)
).这通常通过创建包含标题的清单文件来完成Main-Class
(例如,Main-Class: myClass
).
但是,正如Mark Peters指出的那样,使用JDK 6,您可以使用该e
选项来定义入口点:
jar cfe myJar.jar myClass myClass.class
Run Code Online (Sandbox Code Playgroud)
最后,您可以执行它:
java -jar myJar.jar
Run Code Online (Sandbox Code Playgroud)
小智 16
正如你提到的那样,你正在使用Eclipse ... Eclipse可以为你创建JAR,只要你运行每个具有main一次的类.右键单击该项目,然后单击"导出",然后在Java文件夹下选择"Runnable JAR file".在启动配置中选择类名,选择保存jar的位置,并在必要时决定如何处理库.点击完成,擦上裤子的手.
通常,您需要在清单中放入比使用-e
交换机更多的内容,在这种情况下,语法是:
jar -cvfm myJar.jar myManifest.txt myApp.class
Run Code Online (Sandbox Code Playgroud)
其中包括:"create verbose jarFilename manifestFilename",后跟您要包含的文件.
请注意,您提供的清单文件的名称可以是任何名称,因为jar
它会自动重命名并将其放在jar文件中的正确位置.
方法1:
让我们有一个包含主类testa的Java文件test.java,现在我们首先像javac test.java一样简单地编译我们的Java文件,在同一目录中创建manifest.txt文件,并编写Main-Class:mainclassname。例如:
Main-Class: testa
Run Code Online (Sandbox Code Playgroud)
然后我们通过以下命令创建jar文件:
jar cvfm anyname.jar manifest.txt testa.class
Run Code Online (Sandbox Code Playgroud)
然后我们通过以下命令运行jar文件:java -jar anyname.jar
方式2:
让我们有一个名为one的包,其中每个类都在其中。然后我们通过以下命令创建jar文件:
jar cf anyname.jar one
Run Code Online (Sandbox Code Playgroud)
然后我们在anyname.jar文件中的META-INF目录中打开manifest.txt并编写
Main-Class: one.mainclassname
Run Code Online (Sandbox Code Playgroud)
在第三行中,然后我们通过以下命令运行jar文件:
java -jar anyname.jar
Run Code Online (Sandbox Code Playgroud)
使jar文件具有多个类文件:jar cf anyname.jar one.class two.class three.class ......
归档时间: |
|
查看次数: |
187781 次 |
最近记录: |