我编写了一个使用 Java swing 库的 Java 程序。现在我想通过双击 Windows 上的可执行文件来执行这个程序,就像任何其他带有 GUI 的程序一样。我怎么做?
12 回答
由于它是基于 Java 的并且有一个 GUI,显而易见的答案是使用Java Web Start来部署它。
Java Web Start (JWS) 是Oracle Corporation的技术,用于直接从网络或 Internet 链接启动富客户端(Swing、AWT、SWT)桌面应用程序。它为支持 Java 的平台提供“一键式”安装。
JWS 提供了许多吸引人的功能,包括但不限于启动屏幕、桌面集成、文件关联、自动更新(包括延迟下载和更新的编程控制)、按平台、架构或 Java 版本、配置划分本地和其他资源下载运行时环境(最低 J2SE 版本、运行时选项、RAM 等),使用扩展轻松管理公共资源。
通过“桌面集成”读取支持平台上的桌面快捷方式和菜单项。
右侧的 2 个图标(JotPad和 Star Zoom Animation)都是基于 Java 的应用程序,使用 Java Web Start 安装。由于 JotPad 是沙盒的,因此会提示用户是否创建快捷方式。该选择不适用于应用程序。IntegrationService
具有更高的权限级别,因此使用允许应用程序的 - 安装/删除快捷方式和菜单项会更有意义。(在提示用户之后)在运行时创建/删除它们。
有多种选择:
- 创建项目的可执行 jar。要让这个 jar 工作,您必须将 javaw 作为默认应用程序才能打开它。
- 创建项目的 exe。
- 创建一个运行 jar 文件的 bat 文件。
你需要从java程序创建exe。
- 首先,确保您已安装 Java 1.2 或更高版本。此功能在以前的 Java 版本中不可用。
- 接下来,创建您的工作 java 系统。通常,您会希望将其放入一个包中。对于这个例子,我创建了一个简单的 HelloWorld 应用程序,它打印出“Hello World”和第一个命令行参数,并将其放入包“psae”中。因此,HelloWorld 文件(HelloWorld.class、HelloWorld.java)位于目录 psae 中。在继续下一步之前,我测试了系统以确保它可以正常工作。
- 在 psae 所在的目录中,创建了一个名为“mainClass”的文件。该文件包含一行指定主类在 jar 文件中的位置。请注意,我使用包规范。这是单行: Main-Class: psae.HelloWorld 注意:确保在此行之后键入回车;一些 Windows 系统需要它并且会报告“加载主类清单属性失败”错误。
- 接下来,我使用 Java2 中的“jar”命令创建了一个名为 psae.jar 的 jar 文件。我使用“m”命令行参数来指定清单文件 mainClass,它将信息添加到 jar 文件中,说明主类的位置。这是 jar 命令:bertha:~ > jar cmf mainClass psae.jar psae
- 只是为了好玩,为了检查发生了什么,我打印了我刚刚创建的 jar 文件的目录。这是命令及其结果: bertha:~ > jar tf psae.jar META-INF/ META-INF/MANIFEST.MF psae/ psae/HelloWorld.java psae/HelloWorld.class
成功创建 jar 文件后,我现在可以使用命令行参数对其调用 java2:
bertha:~ > java -jar psae.jar Philip Hello World Philip
虽然其他人提到了创建本机可执行文件等出色选择,但还有另一种有用的方法:创建快捷方式。
- 右键单击您的桌面,展开“新建”选项,然后单击“快捷方式”。
- 键入“javaw.exe”。点击下一步。
- 随意命名。点击完成。
- 您会注意到桌面上新创建的快捷方式。右键单击它并选择“属性”
- 在“目标”文本字段中,附加“-jar path-to-your-jar.jar”,将“path-to-your-jar.jar”替换为 jar 的实际路径
- 您现在还可以选择将图标更改为您想要的任何图标
此快捷方式可以固定到任务栏并在任何地方使用(考虑到您提供了 JAR 的绝对路径)。
您可以使用Launch4j 之类的东西。也看看JSMooth。
希望能帮助到你
有两种方法。两者都涉及将您的代码打包在 .jar 中。
第一种方法是使用Launch4j 之类的工具构建一个实际的 .exe 文件。它将要求您设置诸如告诉它要执行哪个类、使用哪个图标、哪个 JRE 可以、要使用哪些 JRE 参数等内容。
第二个选项是使 .jar 本身可执行。为此,您可以向 .jar 添加清单。清单是一个描述 jar 的小配置文件。属性之一是Main-Class
定义入口点。换句话说,它说明了main
当用户双击文件时哪个类具有应该调用的函数。这是关于清单的基本教程:http: //docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
第二个选项更容易上手,但用户会更频繁地知道如何处理 .exe。
请注意,如果任何一种方法都抱怨找不到类,请确保设置类路径清单属性以匹配您的项目。
如果您有一个可执行的 jar 文件,只需右移您的文件并将其设置为由 javaw 打开。另一种选择(如果您想将参数传递给您的应用程序)是创建一个 .bat 文件,您可以在其中通过 java 或 javaw 分离您的应用程序
右键单击 Eclipse 中的“项目”并选择“导出”,然后选择“Java->可运行 Jar 文件”选择项目名称并完成。
似乎您想部署和运行摇摆的独立应用程序。作为一名 Java 开发人员,您应该了解 jar 文件的强大功能。这些本身是可执行的{因此无需创建 .exe 文件:)}。
下面的代码将帮助您创建一个 jar 文件。
在命令提示符下创建 jar 文件
Start Command Prompt.
Navigate to the folder that holds your class files:
C:\>cd \mywork
Set path to include JDK’s bin. For example:
C:\mywork> path c:\Program Files\Java\jdk1.5.0_09\bin;%path%
Compile your class(es):
C:\mywork> javac *.java
Create a manifest file:
C:\mywork> echo Main-Class: NameOfProject >manifest.txt
Create a jar file:
C:\mywork> jar cvfm NameOfProject.jar manifest.txt *.class
Test your jar:
C:\mywork> DanceStudio.jar
创建一个 jar 后,只需双击它即可完成。
您必须创建一个可执行的 jar 文件。为此,您只需将 META-INF 文件夹添加到 jar 中,然后添加一个包含两行的 MANIFEST.MF 文本文件:
Manifest-Version: 1.0
Main-Class: your.package.YourMainClass
以下是如何通过右键单击来运行 Java 程序(换句话说,从 Windows 资源管理器上下文菜单中)。这个方便的技巧非常适合需要即时测试其简单程序的初学者。适用于 Win7 和 XP 平台。
[ ATTN:根据情况,您可能需要package
从 Java 文件的顶部删除该指令。]
步骤 1.RWJ.bat
在您选择的文件夹(例如,在C:\Program Files\Java
.)中创建一个批处理文件(例如, )
步骤 2.填写RWJ.bat
以下命令(它们可以像使用简单的类一样正常工作,但您当然可以通过指定编译器/解释器开关、传递参数、添加echo off、删除pause或任何):
javac %1
java %~n1
pause
第一个命令将您右键单击的文件的全名传递给 Java 编译器;第二个去除文件扩展名并仅向 JVM 提供类名。
第 3 步。将以下键添加到您的注册表:HKEY_CLASSES_ROOT\*\shell\Run With Java
然后创建其命令(默认值)
C:\Program Files\Java\RWJ.bat %1
:。
步骤 4.通过右键单击并选择Run with Java
选项来运行您的 Java 类。
这里的所有都是它的。
通过指向和单击运行 Java 程序的另一种方法是使用 AOT 编译器。例如,GCC 有一个名为 GCJ 的入口点,可用于将源代码编译为特定操作系统的字节码和标准可执行文件。
最后,代替批处理文件可以运行 WSH 等。