[英]How to convert Java program into jar?
大家的帮助......我试图将一个简单的java程序转换为jar,但似乎没有发生任何事情。 我有2个文件:Tester.java,Tester.Class。 然后我使用了这个命令行:
jar -cvf Tester.jar Tester.class
.jar文件已创建,但似乎没有任何效果。 我错过了什么?
要在您创建的jar文件中运行程序,您需要执行
java -cp Tester.jar your.package.Main
执行jar的更方便的方法是能够做到
java -jar Tester.jar
但是,这要求您在清单文件中指定main-class,该文件应包含在jar文件中:
放
Manifest-Version: 1.2 Main-Class: your.package.Main
在manifest.txt中
并创建jar:
jar cvfm Tester.jar manifest.txt Tester.class
正如Matthew Flaschen所评论的 回答 ,你需要在你的jar中有一个“manifest文件”,并且应该包含Main-Class
标题,指出哪个是要执行的jar中的主类。 aioobe的答案完美地说明了最简单的方法。
但是我不建议你总是“手动”,而是建议你看一下构建工具 ,比如Apache Ant (或Maven ,但这可能有点难以开始),这是非常常用的自动化这些构建序列。
使用Ant,您将创建一个“构建文件”(最常见的名称为build.xml
),如下所示:
<project name="Tester">
<target name="build"
description="Compiles the code and packages it in a jar.">
<javac srcdir="src" destdir="classes" source="1.6" target="1.6"/>
<jar destfile="Tester.jar">
<fileset dir="classes"/>
<manifest>
<attribute name="Main-Class" value="com.example.Tester"/>
</manifest>
</jar>
</target>
</project>
现在,调用ant build
将编译您的代码并将其打包在“Tester.jar”中,它还将包含正确类型的清单头,以便您可以使用java -jar Tester.jar
运行它。 (请注意,此示例假定您的源位于“src”目录中,相对于您运行命令的位置。当然,您还需要安装Ant。)
如果您决定尝试Ant,它的官方手册将非常有用(特别是Ant“任务”列表,例如显示您可以为javac
或jar
等特定任务提供的选项)。
您的命令将创建一个jar文件。 您可能需要设置Main-Class清单标头 。
我建议使用一些IDE,如Netbeans,Eclipse,IntelliJ IDEA,并专注于您的编程(通过点击构建您的程序)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.