5

如果有一点让我对 Java 感到恼火,那就是你不能双击类文件来运行。我假设注册表中有一个条目必须进行编辑才能执行此操作,但我不知道。

所以,正如它在锡上所说的那样。有谁知道如何关联 Java 类文件以在 Windows 上双击运行(我的目标是 Windows 7,但我敢肯定三个最新版本没有区别)?这将使我的生活(我相信许多其他人的生活)更轻松!

Udpate:我已经看到了有关从相关类中制作 JAR 并以这种方式运行它的答案。无论多么有用,这并不是我在这里寻找的。我正在有效地寻找 Windows 本身java在双击时使用正确的参数调用该类。

4

6 回答 6

6

如果类路径无关紧要,可以使用简单的批处理文件runjava.bat轻松完成,或者与资源管理器中的 .class 文件相关联(通过右键单击>>打开方式..)

@echo off
REM change to folder where the class file resides
cd %~d1%~p1
REM execute the class by calling its name without file extension
start java %~n1
于 2010-04-15T16:36:55.040 回答
3

可双击 JAR 解决方案是最常见的纯 Java 分发方法。尝试直接执行 .class 文件会有很多问题,首先想到的是类路径。

也就是说,如果你想在你的开发环境中支持最简单的可能性,你可以想象实现一个脚本

  • 检查 .class 文件的完整类名(包括包和内部类名)
  • 沿着目录树向上走到文件的类路径的根目录
  • (可选地在类路径中包含任何常见的 lib 目录)
  • 为确定的类调用 Java

然后,您可以将闪亮的脚本注册为 .class 文件的处理程序。但是既然您在开发环境中,您是否对您的 IDE 这样做更满意?

于 2010-02-09T20:40:50.580 回答
2

当您安装 Java 运行时环境时,它会将 .jar 文件注册为 Windows 中的关联。如果双击 .jar 文件,它将使用 Java 打开它。为此,您需要确保定义了一个指向要运行的类的清单。您要运行的类文件必须有一个将被调用的 main 方法。

假设您在磁盘上有一个名为“com.TheClass.class”的类。如果您想通过双击运行它,请在名为 META-INF/manifest.mf 的新目录中创建一个文件。把它放进去:

Manifest-Version: 1.2
Main-Class: com.TheClass

使用此清单目录和文件压缩(或使用 jar 命令)您的类。将其重命名为 mine.jar。双击它,它应该使用 Java 运行时启动您的类。

于 2010-02-09T20:25:34.497 回答
2

对于.class要运行的文件,首先需要有“某事”要做,也就是说,它.class应该包含一个main方法。并非所有人.class都有。

您可以做的一件事是将您的应用程序(许多 .class 文件)包装在一个jar文件中。

简而言之,除了你的类之外,你只需要一个清单文件,其中主要方法是

jar -cmf yourmanifestfile.mf  doubleClickApp.jar  *.class 

就是这样,doubleClickApp.jar 现在可以通过“doubleClick”手势执行。

于 2010-02-09T20:35:26.663 回答
1

http://justaddhotwater.webs.com/javaexec.htm

该软件可以通过双击它们来运行您的 Java 类。(仅限 Windows)。

于 2011-07-22T06:39:20.987 回答
0

我发现最简单的方法是在与文件相同的文件夹上创建快捷方式.class。然后右键单击它并转到属性。将字段更改Targetjava NameOfClass,最后双击快捷方式 :)

于 2010-10-02T05:09:50.003 回答