如何通过单击Windows上的图标来运行Java程序?
我编写了一个使用Java swing库的Java程序。 现在,我想通过双击Windows上的可执行文件来执行此程序,就像任何其他带有GUI的程序一样。 我怎么做?
由于它是基于Java的并且具有GUI,因此显而易见的答案是使用Java Web Start部署它。
Java Web Start(JWS)是Oracle Corporation用于直接从网络或Internet链接启动富客户端(Swing,AWT,SWT) 桌面应用程序的技术 。 它为支持Java的平台提供“一键式”安装。
JWS提供了许多吸引人的function,包括但不限于启动屏幕, 桌面集成,文件关联,自动更新(包括延迟下载和程序化更新控制),按平台,体系结构或Java版本,配置对本机和其他资源下载进行分区运行时环境(最小J2SE版本,运行时选项,RAM等),使用扩展轻松管理公共资源。
通过“桌面集成”,在支持的平台上读取桌面快捷方式和菜单项。
右侧的2个图标( JotPad和Star Zoom Animation)都是基于Java的应用程序,使用Java Web Start安装。 由于JotPad是沙盒,因此将提示用户是否创建快捷方式。 应用程序不提供该选择。 具有更高的权限级别,因此使用IntegrationService
安装/删除快捷方式和菜单项会更有意义 – 它允许应用程序。 (在提示用户之后)在运行时创建/删除它们。
有很多选择:
- 创建项目的可执行jar。 要使这个jar工作,你必须将javaw作为默认应用程序来打开它。
- 创建项目的exe。
- 创建一个运行jar文件的bat文件。
看看这个: 我如何将我的Java程序转换为.exe文件?
你需要从java程序创建exe。
创建可执行jar文件
- 首先,确保已安装Java 1.2或更高版本。 此工具在以前版本的Java中不可用。
- 接下来,创建您的java系统。 通常,您需要将其放入包中。 在本例中,我创建了一个简单的HelloWorld应用程序,它打印出“Hello World”加上第一个命令行参数,并将其放入包“psae”中。 因此,HelloWorld文件(HelloWorld.class,HelloWorld.java)位于目录psae中。 我测试了系统以确保它在下一步之前有效。
- 在psae所在的目录中,创建了一个名为“mainClass”的文件。 此文件包含一行,指定在jar文件中找到主类的位置。 请注意,我使用的是包规范。 这是单行:Main-Class:psae.HelloWorld注意:确保在此行之后键入回车符; 某些Windows系统需要它并报告“无法加载Main-Class清单属性”错误。
- 接下来,我使用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
有一些项目,如http://jsmooth.sourceforge.net/和http://launch4j.sourceforge.net/
你可以使用像Launch4j这样的东西 。 还看看JSMooth 。
希望能帮助到你
有两种方法。 两者都涉及将代码打包在.jar中。
第一种方法是使用Launch4j之类的工具构建一个实际的.exe文件。 它将要求您设置诸如告诉它要执行哪个类,使用哪个图标,哪个JRE正常,要使用哪些JRE参数等等。
第二个选项是使.jar本身可执行。 您可以通过向.jar添加清单来完成此操作。 清单是一个描述jar的小配置文件。 其中一个属性是Main-Class
,它定义了入口点。 换句话说,它说当用户双击文件时哪个类具有应该调用的main
函数。 这是关于清单的基本教程: http : //docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
第二个选项更容易上手,但用户会更频繁地知道如何处理.exe。
请注意,如果任一方法都抱怨它找不到类,请确保设置classpath清单属性以匹配您的项目。
虽然其他人提到了创建本机可执行文件等优秀选择,但还有另一种有用的方法:创建快捷方式。
- 右键单击桌面,展开“新建”选项,然后单击“快捷方式”。
- 输入“javaw.exe”。 点击下一步。
- 无论你想要什么,都可以命 点击完成。
- 您会注意到桌面上新创建的快捷方式。 右键单击它并选择“属性”
- 在“目标”文本字段中,添加“-jar path-to-your-jar.jar”,将“path-to-your-jar.jar”替换为jar的实际路径
- 您现在也可以选择将图标更改为您想要的任何图标
此快捷方式可以固定到任务栏,可以在任何地方使用(考虑到您提供了JAR的绝对路径)。
如果您有可执行jar文件,只需右键单击您的文件并将其设置为由javaw打开。 另一个选项(如果你想将参数传递给你的应用程序)是创建一个.bat文件,你可以通过java或javaw分离你的应用程序
右键单击eclipse中的“project”并选择“export”然后选择“Java-> Runnable Jar File”选择你的项目名称并完成。
似乎您想要部署并运行独立的swings应用程序。 作为一名java开发人员,您应该了解jar文件的强大function。 这些是可执行的{所以不需要创建.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
以下是如何通过RIGHT-CLICKING运行Java程序(换句话说,从Windows资源管理器上下文菜单)。 这个方便的技巧非常适合那些需要动态测试简单程序的初学者。 适用于Win7和XP钻机。
[ ATTN:根据具体情况,您可能需要从Java文件的顶部删除package
指令。]
步骤1.在您选择的文件夹内(例如,在C:\Program Files\Java
)创建批处理文件(例如, RWJ.bat
)。
步骤2.使用以下命令填充RWJ.bat
(它们将与简单类一样正常工作,但您可以根据您的特定需要通过指定编译器/解释器开关,传递args,添加echo off来调整它们,删除暂停或其他):
javac %1 java %~n1 pause
第一个命令将右键单击文件的全名传递给Java编译器; 第二个剥离文件扩展名,仅为类JVM提供JVM。
步骤3.将以下密钥添加到您的注册表: HKEY_CLASSES_ROOT\*\shell\Run With Java
,然后创建其命令(默认值): C:\Program Files\Java\RWJ.bat %1
。
步骤4.右键单击Java类并选择Run with Java
选项,运行Java类。
这里的所有都是它的。
通过指向和单击来运行Java程序的另一种方法是使用AOT编译器。 例如,GCC有一个名为GCJ的入口点,可用于将源代码编译为字节代码和特定操作系统的标准可执行文件。
最后,相反,批处理文件可以运行WSH等。