如何创建可执行Java程序?

时间:2009-04-29 21:59:55

标签: java jar executable jcreator

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

最快的方法是什么?

12 个答案:

答案 0 :(得分:63)

您可以使用与SDK捆绑在一起的jar tool并创建该程序的可执行版本。

这就是它的完成方式。

我正在从命令提示符发布结果,因为它更容易,但使用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

在“开始”文件夹 Dummy.class HelloWorldSwing.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 -cmf manifest.mf hello.jar start

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

enter image description here

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

enter image description here

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

以下是我发现的视频:Create a Jar File in Jcreator

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

您也可以使用jnlp(Java Network Launcher Protocol)。

答案 1 :(得分:15)

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

step1 step2 step3

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

enter image description here


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

STEP5 STEP6

STEP7: 为.xml文件指定一个合适的名称,然后单击" Save"。 .xml文件是标准文件,不用担心。现在将创建您的可执行文件!

答案 2 :(得分:12)

我不太清楚你的意思。

但我认为你的意思是两件事中的一件。

  • 您想要创建可执行文件.jar文件

Eclipse可以非常轻松地完成这项工作 - >导出并创建一个jar并选择适当的Main-Class,它将为您生成.jar。在Windows中,您可能必须将.jar与java运行时关联。 aka Hold shift down,右键单击“打开方式”浏览到您的jvm并将其与javaw.exe相关联

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

http://jsmooth.sourceforge.net/http://launch4j.sourceforge.net/将创建一个原生的.exe存根,其中包含一个很好的图标,基本上会引导您的应用。他们甚至可以确定您的客户是否未安装JVM并提示您安装JVM。

答案 3 :(得分: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]

并且您的程序将运行:)

答案 4 :(得分:3)

看看WinRun4J。它只是windows,但那是因为unix有可执行脚本(看起来像用户)像垃圾箱一样。您也可以轻松修改WinRun4J以在unix上编译。

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

答案 5 :(得分:3)

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

答案 6 :(得分:2)

您可以将GCJ compile将Java程序用于本机代码 有时他们甚至将Eclipse编译成native version

答案 7 :(得分:1)

编写脚本并使其可执行。该脚本应该与您在命令行中通常使用的内容类似:

java YourClass

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

答案 8 :(得分:1)

查看launch4j

答案 9 :(得分:1)

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

有关JWS的更多信息,请参阅JWS info page

答案 10 :(得分:0)

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

答案 11 :(得分:-2)

如果您使用的是NetBeans,只需按f11即可构建您的项目。 默认路径为projectfolder \ dist