我如何创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.class和HelloWorldSwing.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文件。
现在你有一个JAR文件。 使用java -jar path / jarname.jar来执行。
如果你想把它转换成.exe,你可以试试http://sourceforge.net/projects/launch4j/files/launch4j-3/
步骤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