64

我已经在 J​​Creator 中编写了一个 Java 程序,一切都完成了,但是我想从中创建一个可执行文件,即我不想通过加载 java 类并编译然后执行来运行程序,而是将它作为一个独立的可执行文件。

最快的方法是什么?

4

11 回答 11

73

您可以使用与 SDK 捆绑的jar 工具并创建程序的可执行版本。

这就是它的完成方式。

我从命令提示符发布结果,因为它更容易,但在使用 JCreator 时也应该适用。

首先创建你的程序:

$cat HelloWorldSwing.java
    package start;

    import javax.swing.*;

    public class HelloWorldSwing {
        public static void main(String[] args) {
            //Create and set up the window.
            JFrame frame = new JFrame("HelloWorldSwing");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            JLabel label = new JLabel("Hello World");
            frame.add(label);

            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }
    }
    class Dummy {
        // just to have another thing to pack in the jar
    }

很简单,只显示一个带有“Hello World”的窗口

然后编译它:

$javac -d . HelloWorldSwing.java

在“start”文件夹Dummy.classHelloWorldSwing.class中创建了两个文件。

$ls start/
Dummy.class     HelloWorldSwing.class

下一步,创建 jar 文件。每个 jar 文件都有一个清单文件,其中包含与可执行文件相关的属性。

这是我的清单文件的内容。

$cat manifest.mf
Main-class: start.HelloWorldSwing

只需描述主类是什么(具有 public static void main 方法的类)

一旦清单准备就绪,就会调用 jar 可执行文件。

它有很多选项,这里我使用 -c -m -f ( -c 来创建 jar, -m 来指定清单文件, -f = 文件应该被命名.. )和我想要 jar 的文件夹。

$jar -cmf manifest.mf hello.jar start

这会在系统上创建 .jar 文件

在此处输入图像描述

您稍后可以双击该文件,它将按预期运行。

在此处输入图像描述

要在 JCreator 中创建 .jar 文件,您只需使用“工具”菜单,创建 jar,但我不确定清单是如何到达那里的。

这是我发现的一个视频:在 Jcreator 中创建一个 Jar 文件

一旦您熟悉了这种“.jar”方法,我认为您可以继续使用此线程中发布的其他链接。

您也可以使用jnlp(Java 网络启动器协议)。

于 2009-04-30T00:18:28.593 回答
20

如果您使用的是 Eclipse,您可以尝试以下 7 个步骤来获取适用于 Windows 的 .exe 文件。

步骤1第2步第三步

现在你有了一个 JAR 文件。使用 java -jar path/jarname.jar 执行。

在此处输入图像描述


如果要将其转换为 .exe,可以尝试http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

STEP7:给 .xml 文件起一个适当的名称,然后单击“保存”。.xml 文件是标准的,不用担心。现在将创建您的可执行文件!

于 2014-08-11T08:56:12.320 回答
12

我不太清楚你的意思。

但我假设你的意思是两件事中的一件。

  • 您想创建一个可执行的 .jar 文件

Eclipse 可以很容易地做到这一点 File --> Export 并创建一个 jar 并选择适当的 Main-Class,它会为您生成 .jar。在 Windows 中,您可能必须将 .jar 与 java 运行时相关联。又名按住shift,右键单击“打开方式”浏览到您的jvm并将其与javaw.exe关联

  • 创建一个实际的 .exe 文件,然后您需要使用一个额外的库,例如

http://jsmooth.sourceforge.net/http://launch4j.sourceforge.net/将创建一个带有漂亮图标的本机 .exe 存根,基本上可以引导您的应用程序。他们甚至会判断您的客户是否没有安装 JVM,并提示您安装一个。

于 2009-04-29T23:40:48.200 回答
5

在命令行上,导航到要使其可执行的 Java 文件的根目录。

使用这个命令:

jar -cvf [name of jar file] [name of directory with Java files]

这将在 jar 存档中创建一个名为 META-INF 的目录。在这个 META-INF 中有一个名为 MANIFEST.MF 的文件,在文本编辑器中打开这个文件并添加以下行:

Main-Class: [fully qualified name of your main class]

然后使用这个命令:

java -jar [name of jar file]

你的程序将运行:)

于 2009-04-29T22:11:31.740 回答
3

看看WinRun4J。它只是 windows,但那是因为 unix 具有看起来(对用户)像 bin 的可执行脚本。您还可以轻松修改 WinRun4J 以在 unix 上编译。

它确实需要一个配置文件,但再次使用硬编码选项重新编译它,它就像一个无配置的 exe 一样工作。

于 2009-04-29T23:59:10.717 回答
3

Jexecutable 可以为 Java 程序创建 Windows exe。它将 jar 嵌入到 exe 文件中,您可以像 Windows 程序一样运行它。

于 2012-08-06T04:23:58.443 回答
2

您可以使用GCJ将您的 Java 程序编译为本机代码。
有时他们甚至将Eclipse编译为本机版本

于 2009-04-29T23:34:35.953 回答
2

看看launch4j

于 2009-04-29T23:38:07.880 回答
1

Java Web Start 是一种很好的技术,可以将 Java 富客户端从 Internet 直接安装到最终用户的桌面(无论操作系统是 Windows、Mac 还是 *nix)。它配备了桌面集成和自动更新以及许多其他好东西。

有关 JWS 的更多信息,请参阅JWS 信息页面

于 2011-03-05T12:15:30.533 回答
1

编写脚本并使其可执行。该脚本应该看起来像您通常在命令行中使用的那样:

java YourClass

这假设您已经编译了 .java 文件并且 java 可以找到您的 .class 文件。如果 java 找不到您的 .class 文件,您可能需要查看使用 -classpath 选项或设置您的 CLASSPATH 环境变量。

于 2009-04-29T22:06:09.910 回答
0

如前所述,您可以查看 launch4j 来为您的 JAR 文件创建可执行文件。此外,还有一个叫做“JExePack”的东西可以在你的 jar 文件周围放置一个 .exe 包装器,以便你可以重新分发它(注意:客户端无论如何都需要一个 JRE 来在他的电脑上运行程序)用 GCJ 创建的 Exes 不会具有这种依赖性,但过程涉及更多。

于 2009-04-29T23:57:51.623 回答