如何通过单击Windows上的图标来运行Java程序?

时间:2012-07-04 06:28:14

标签: java deployment installer desktop-integration

我编写了一个使用Java swing库的Java程序。现在我想通过双击Windows上的可执行文件来执行此程序,就像任何其他带有GUI的程序一样。我怎么做?

12 个答案:

答案 0 :(得分:7)

由于它是基于Java并且具有GUI,显而易见的答案是使用Java Web Start部署它。

  

Java Web Start(JWS)是 Oracle Corporation 技术,用于直接从网络或Internet链接启动富客户端(Swing,AWT,SWT)桌面应用程序。它为支持Java的平台提供“一键式”安装。

     

JWS提供了许多吸引人的功能,包括但不限于启动屏幕,桌面集成,文件关联,自动更新(包括延迟下载和程序控制更新),本地分区和&按平台,体系结构或Java版本下载其他资源,运行时环境配置(最低J2SE版本,运行时选项,RAM等),使用扩展轻松管理公共资源..

通过“桌面集成”在支持的平台上读取桌面快捷方式和菜单项。

Desktop Icons on Windows 7

右侧的2个图标(JotPad& Star Zoom Animation)都是基于Java的应用程序,使用Java Web Start安装。由于JotPad是沙盒,因此将提示用户是否创建快捷方式。应用程序不提供该选择。具有更高的权限级别,因此使用IntegrationService安装/删除快捷方式和菜单项会更有意义 - 这允许应用程序。 (在提示用户之后)在运行时创建/删除它们。

答案 1 :(得分:3)

有多种选择:

  1. 创建项目的可执行jar。要使这个jar工作,你必须将javaw作为默认应用程序来打开它。
  2. 创建项目的exe。
  3. 创建一个运行jar文件的bat文件。
  4. 看看这个:How can I convert my Java program to an .exe file?

答案 2 :(得分:2)

你需要从java程序创建exe。

Creating executable jar files

  1. 首先,确保已安装Java 1.2或更高版本。此工具在以前版本的Java中不可用。
  2. 接下来,创建一个有效的java系统。通常,您需要将其放入包中。在这个例子中,我创建了一个简单的HelloWorld应用程序,它打印出“Hello World”加上第一个命令行参数,并将其放入包“psae”中。因此,HelloWorld文件(HelloWorld.class,HelloWorld.java)位于目录psae中。在进行下一步之前,我测试了系统以确保它能够正常工作。
  3. 在psae所在的目录中,创建了一个名为“mainClass”的文件。此文件包含一行,指定在jar文件中找到主类的位置。请注意,我使用的是包规范。这是单行: 主类:psae.HelloWorld 注意:确保在此行之后键入回车符;某些Windows系统需要它并报告“无法加载Main-Class清单属性”错误。
  4. 接下来,我使用Java2中的“jar”命令创建一个名为psae.jar的jar文件。我使用“m”命令行参数来指定清单文件mainClass,它将信息添加到将在其中找到主类的jar文件中。这是jar命令: bertha:〜> jar cmf mainClass psae.jar psae
  5. 为了好玩,并检查发生了什么,我打印刚刚创建的jar文件的目录。这是命令及其结果: bertha:〜> jar tf psae.jar META-INF / META-INF / MANIFEST.MF PSAE / PSAE / HelloWorld.java PSAE / HelloWorld.class的
  6. 成功创建了jar文件后,我现在可以使用命令行参数调用java2:

    bertha:~ > java -jar psae.jar Philip
    Hello World Philip
    

答案 3 :(得分:1)

答案 4 :(得分:1)

您可以使用Launch4j之类的内容。 另请参阅JSMooth

希望有所帮助

答案 5 :(得分:1)

有两种方法。两者都涉及将代码打包在.jar中。

第一种方法是使用Launch4j之类的工具构建一个实际的.exe文件。它将要求您设置诸如告诉它要执行哪个类,使用哪个图标,哪个JRE正常,要使用哪些JRE参数等等。

第二个选项是使.jar本身可执行。您可以通过向.jar添加清单来完成此操作。清单是一个描述jar的小配置文件。其中一个属性是Main-Class,它定义了入口点。换句话说,它说当哪个类具有main函数时,应该在用户双击文件时调用该函数。 以下是有关清单的基本教程:http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

第二个选项更容易上手,但用户会更频繁地知道如何处理.exe。

请注意,如果任何一种方法都抱怨它无法找到该类,请确保设置classpath manifest属性以匹配您的项目。

答案 6 :(得分:1)

虽然其他人提到了创建本机可执行文件等优秀选择,但还有另一种有用的方法:创建快捷方式。

  • 右键单击桌面,展开“新建”选项,然后单击“快捷方式”。
  • 输入“javaw.exe”。点击下一步。
  • 将它命名为您想要的任何名称。点击完成。
  • 您会注意到桌面上新创建的快捷方式。右键单击它并选择“属性”
  • 在“目标”文本字段中,添加“-jar path-to-your-jar.jar”,将“path-to-your-jar.jar”替换为jar的实际路径
  • 您现在也可以选择将图标更改为您想要的任何图标

此快捷方式可以固定在任务栏上,可以在任何地方使用(考虑到您提供了JAR的绝对路径)。

答案 7 :(得分:0)

如果您有可执行jar文件,只需右键单击您的文件并将其设置为由javaw打开。另一个选项(如果你想将参数传递给你的应用程序)是创建一个.bat文件,你可以通过java或javaw分离你的应用程序

答案 8 :(得分:0)

在eclipse中右键单击“项目”并选择“导出”,然后选择“Java-> Runnable Jar文件”选择项目名称并完成。

答案 9 :(得分:0)

似乎您要部署并运行swings的独立应用程序。作为一名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后,只需双击它即可完成。

答案 10 :(得分:0)

您必须创建一个可执行jar文件。为此,您只需将一个META-INF文件夹添加到jar中,然后添加一个包含两行的MANIFEST.MF文本文件:

Manifest-Version: 1.0
Main-Class: your.package.YourMainClass

答案 11 :(得分:0)

以下是如何通过 RIGHT-CLICKING 运行Java程序(换句话说,从Windows资源管理器上下文菜单中)。这个方便的技巧非常适合那些需要动态测试简单程序的初学者。适用于Win7和XP平台。

[ ATTN:根据具体情况,您可能需要从Java文件的顶部删除 package 指令。]

第1步。在您选择的文件夹中创建批处理文件(例如 RWJ.bat )(例如,在 {{1}中} 即可。)

第2步。使用以下命令填充 C:\Program Files\Java (它们将与简单类一样正常工作,但您当然可以调整它们根据您的特定需求,指定编译器/解释器开关,传递args,添加 echo off ,删除暂停等等:

RWJ.bat

第一个命令将右键单击文件的全名传递给Java编译器;第二个剥离文件扩展名,仅为类JVM提供JVM。

第3步。将以下密钥添加到您的注册表中: javac %1 java %~n1 pause ,然后创建其命令(默认值): 的 HKEY_CLASSES_ROOT\*\shell\Run With Java

Hacking Registry

第4步。通过右键单击并选择 C:\Program Files\Java\RWJ.bat %1 选项来运行Java类。

Right-clicking Java class

Java class up and running

这就是它的全部内容。

通过指向和单击来运行Java程序的另一种方法是使用AOT编译器。例如,GCC有一个名为GCJ的入口点,可用于将源代码编译为特定操作系统的字节代码和标准可执行文件。

最后,相反,批处理文件可以运行WSH等。