我已经在JCreator中编写了一个Java程序,一切都已完成,但我想从中创建一个可执行文件,即我不想通过加载java类并编译然后执行来运行程序,而是它作为一个独立的可执行文件。
最快的方法是什么?
答案 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文件
稍后您可以双击该文件,它将按预期运行。
要在JCreator中创建.jar文件,您只需使用“工具”菜单,创建jar,但我不确定清单是如何进行的。
以下是我发现的视频:Create a Jar File in Jcreator。
一旦您熟悉这种“.jar”方法,我认为您可以继续使用此主题中发布的其他链接。
您也可以使用jnlp(Java Network Launcher Protocol)。
答案 1 :(得分:15)
如果您使用的是Eclipse,则可以尝试以下7个步骤来获取Windows的.exe文件。
现在你有了一个JAR文件。使用java -jar path / jarname.jar来执行。
如果您想将其转换为.exe,可以尝试http://sourceforge.net/projects/launch4j/files/launch4j-3/
STEP7: 为.xml文件指定一个合适的名称,然后单击" Save"。 .xml文件是标准文件,不用担心。现在将创建您的可执行文件!
答案 2 :(得分:12)
我不太清楚你的意思。
但我认为你的意思是两件事中的一件。
Eclipse可以非常轻松地完成这项工作 - >导出并创建一个jar并选择适当的Main-Class,它将为您生成.jar。在Windows中,您可能必须将.jar与java运行时关联。 aka Hold shift down,右键单击“打开方式”浏览到您的jvm并将其与javaw.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