我如何创build可执行的Java程序?

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

什么最快的方法来做到这一点?

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

这是如何完成的。

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

首先创build你的程序:

$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.classHelloWorldSwing.class中创build了两个文件。

 $ls start/ Dummy.class HelloWorldSwing.class 

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

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

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

只要描述一下主类是什么(使用public static void main方法)

清单准备就绪后,将调用jar可执行文件。

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

 $jar -cmf manifest.mf hello.jar start 

这将在系统上创build.jar文件

在这里输入图像描述

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

在这里输入图像描述

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

这是我发现的一个video: 在Jcreator中创build一个Jar文件 。

一旦熟悉这个“.jar”方法,我认为你可以继续发布在这个线程中的其他链接。

您也可以使用jnlp (Javanetworking启动协议)。

我不太清楚你的意思。

但我认为你的意思是2件事中的1件。

  • 你想创build一个可执行的.jar文件

Eclipse可以很容易地做到这一点文件 – >导出并创build一个jar,并select适当的主类,它会为您生成.jar。 在Windows中,您可能必须将.jar与java运行时相关联。 又名按住Shift键,右键点击“打开”,浏览到您的jvm并将其与javaw.exe关联

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

http://jsmooth.sourceforge.net/或http://launch4j.sourceforge.net/将创build一个本地;.exe存根与一个很好的图标,将本质上引导您的应用程序。 他们甚至会弄清楚,如果你的客户没有安装JVM,并提示你得到一个。

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

步骤1第2步第三步:

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

在这里输入图像描述


如果你想把它转换成.exe,你可以试试http://sourceforge.net/projects/launch4j/files/launch4j-3/

STEP5STEP6

步骤7:给.xml文件一个合适的名称,然后单击“保存”。 .xml文件是标准的,不用担心。 您的可执行文件现在将被创build!

在命令行上,导航到您希望生成可执行文件的Java文件的根目录。

使用这个命令:

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

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

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

然后使用这个命令:

 java -jar [name of jar file] 

和你的程序将运行:)

看看WinRun4J 。 这只是Windows,但是这是因为unix有可执行的脚本,看起来(给用户)像箱子。 您还可以轻松修改WinRun4J在unix上编译。

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

Jexecutable可以为Java程序创buildWindows exe文件。 它将jarsembedded到exe文件中,并且可以像Windows程序一样运行它。

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

写一个脚本,并使其可执行。 该脚本应该看起来像你通常使用的命令行:

 java YourClass 

这假定你已经编译了你的.java文件,而且java可以find你的.class文件。 如果java找不到你的.class文件,你可能想要使用-classpath选项或设置你的CLASSPATH环境variables。

看看launch4j

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

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

如前所述,您可以查看launch4j为您的JAR文件创build可执行文件。 另外,还有一个叫做“JExePack”的东西,可以在你的jar文件中放一个.exe包装,这样你就可以重新分配它了(注意:客户端反正需要JRE来运行他的pc上的程序)用GCJ创build的Exes不会有这个依赖性,但是这个过程有一点涉及。

如果您使用的是NetBeans,则只需按f11即可构build项目。 默认path是projectfolder \ dist