如何将我的java文件转换为应用程序?

时间:2009-01-19 03:29:59

标签: java executable executable-jar

我编写了4个.java文件。问题是我只能从IDE执行我的.java文件,如何像应用程序一样执行.class文件?我在大学学习,有人告诉我Java与平台无关。任何教程/书籍推荐都将受到高度赞赏。

由于

8 个答案:

答案 0 :(得分:9)

基本想法(给你一些搜索的东西)是:

  • 将已编译的.class文件捆绑为“jar”。
  • 向jar中添加一个清单,指定要运行的主类。

您可能会发现在运行“干净构建”时IDE已经创建了此项。 Netbeans将其放入'dist'文件夹中。

现代JRE将允许您通过双击等运行jar。

您还可以使用JSmooth等工具将jar包装在本机可执行文件中。

答案 1 :(得分:5)

看看executable jar。这是精确的,没有任何细节Creating executable jar files

答案 2 :(得分:4)

您使用的是什么IDE?

根据IDE,某些支持Export功能将为您创建.jar可执行文件。例如,在Eclipse中,您就有了这个选项。此外,Eclipse还有其他插件,例如Fat-Jar,其中包含您包含的任何其他不属于Sun标准库的库。

答案 3 :(得分:3)

Java文件必须通过Java虚拟机运行,因此您可以从命令行运行类文件。

如果您有一个名为 filename.java 的文件,则将其编译为 filename.class ,然后您可以通过键入 java filename从命令行运行它

答案 4 :(得分:2)

如果您想在Windows上分发您的应用程序,请查看JSmooth

答案 5 :(得分:1)

JNLP / Web Start

答案 6 :(得分:1)

  

“基本想法(给你一些   要搜索的东西是:

     

将已编译的.class文件捆绑到   一个'罐'。将清单添加到jar中   指定要运行的主类。您   可能会发现您的IDE已经创建   当你运行'干净的构建'时。   Netbeans把它变成'dist'   文件夹。“(由Cogsy提供)

另外,要实现这一目标,您可以选择:

  

取决于IDE,一些支持   导出将创建的功能   .jar可执行文件给你。例如,   在Eclipse中,你有这个选择。   另外还有额外的插件   Eclipse,比如Fat-Jar,会   包括你的任何其他库   包括不属于Sun的一部分   标准库。 (来自kchau)

或者如果你要认真对待,请选择像Ant或Maven这样的构建脚本。 以下是Ant build.xml脚本的示例:

<project name="jar with libs" default="compile and build" basedir=".">
    <!-- this is used at compile time -->
    <path id="example-classpath">
        <pathelement location="${root-dir}" />
        <fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" />
    </path>

    <target name="compile and build">
        <!-- deletes previously created jar -->
        <delete file="test.jar" />

        <!-- compile your code and drop .class into "bin" directory -->
        <javac srcdir="${basedir}" destdir="bin" debug="true" deprecation="on">
            <!-- this is telling the compiler where are the dependencies -->
            <classpath refid="example-classpath" />
        </javac>

        <!-- copy the JARs that you need to "bin" directory  -->
        <copy todir="bin">
            <fileset dir="D:/LIC/xalan-j_2_7_1" includes="*.jar" />
        </copy>

        <!-- creates your jar with the contents inside "bin" (now with your .class and .jar dependencies) -->
        <jar destfile="test.jar" basedir="bin" duplicate="preserve">
            <manifest>
                <!-- Who is building this jar? -->
                <attribute name="Built-By" value="${user.name}" />
                <!-- Information about the program itself -->
                <attribute name="Implementation-Vendor" value="ACME inc." />
                <attribute name="Implementation-Title" value="GreatProduct" />
                <attribute name="Implementation-Version" value="1.0.0beta2" />
                <!-- this tells which class should run when executing your jar -->
                <attribute name="Main-class" value="ApplyXPath" />
            </manifest>
        </jar>
    </target>
</project>

答案 7 :(得分:1)

离开IDE并熟悉命令行工具。 java tutorial在主题here上有一条路径(选择Windows或Solaris / Linux部分)。