繁体   English   中英

如何将Java程序转换为jar?

[英]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“任务”列表,例如显示您可以为javacjar等特定任务提供的选项)。

如果你想迟到这个:

java -jar Tester.jar

你应该阅读本教程课程

您的命令将创建一个jar文件。 您可能需要设置Main-Class清单标头

我建议使用一些IDE,如Netbeans,Eclipse,IntelliJ IDEA,并专注于您的编程(通过点击构建您的程序)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM