Java-如何通过双击jar文件输入(主要方法的)运行时参数?

Yatendra Goel:

我几次遇到这个问题。如果我将Java应用程序打包在一个接受用户参数的可执行jar文件中,则用户必须通过以下命令从命令提示符处调用程序(jar文件):

java -jar "jar-file-name.jar"

但是我希望每当用户双击可执行的jar文件(需要用户提供参数)时,就会出现一个窗口(命令提示符窗口),如果我们从命令提示符中调用jar文件,则会出现该窗口。

我知道一种解决方案是使用批处理文件.bat运行jar文件。还有其他解决方案吗?

RedPandaCurios:

解释原因:

有2个Java JVM exe启动器:

  • java.exe:基于控制台-提供控制台输入/输出。
  • javaw.exe:用于GUI应用程序-隐藏控制台。

默认情况下,JAR文件扩展名与javaw.exe相关联,这就是为什么双击它们时没有控制台的原因。

其他人给出的答案,并添加我自己的答案:

  • 重写您的应用程序,使其使用Java GUI项代替System.in/System.out进行输入和输出。对于您的要求,这可能过于复杂。

  • 您提到创建一个批处理文件,以便运行基于控制台的Java JVM(java.exe),也可以创建一个Windows快捷方式,指定命令行: java -jar jar-file-name.jar

  • 您可以更改.jar的Windows文件关联(但通常这是一个坏主意-新安装的Java可能会重置此文件,这意味着从jar运行的所有Java应用程序都将具有一个控制台)

  • 您可以使用Java启动器(例如WinRun4J),该启动器允许您简单地删除带有图标和配置文件的可双击EXE文件,该文件指定应如何运行您的应用程序(使用/不使用控制台,以及任何其他JVM和命令行参数)

就我个人而言,我在项目中使用了最后一个选项-我将jar文件设置为不可执行,并且用户必须双击EXE。它也允许我为我的项目指定一个漂亮的图标,并通过具有不同的exe / config文件在启动时提供多个选项(调试/非调试模式)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过Java程序运行时如何在shell脚本中提供输入选择?

通过Eclipse运行时Java无法找到文件

在运行时通过 Java 创建 XML 文件的问题

如何在运行时从python提供Java输入?

Java Jar地狱运行时异常

Java运行时错误说找不到所有程序的主要方法

Java如何在运行时解析隐藏的方法

如何在Java运行时检查方法是否存在?

如何在Java运行时更改方法名称?

java更新属性文件运行时

如何在运行时根据通用类型定义和运行时类型参数构建Java类型对象?

java通用方法,运行时错误,

简单的Java 11 JavaFXprogram,从JAR文件运行时错误(视窗)

尝试在Java运行时从jar文件加载类时发生ClassNotFoundException

在运行时加载jar文件java.lang.NoClassDefFoundError:kotlin / jvm / internal / markers / KMappedMarker

如何计算递归运行时(java)

如何在运行时将java中的字符串参数作为参数传递

如何从jar中访问package-info.java运行时中的包级注释?

如何通过双击一个文件来分发我的Java程序以使其可运行?

使用Java8运行时如何在流中获取新的用户输入

如何在运行时使用java脚本运行exe文件

Java 9-在运行时动态添加jar

Java jar在运行时找不到类

将Burrsuite的JAR传递给Java运行时

Java通用方法在运行时转换为参数类型,这可能吗?

Java-在运行时按参数类选择可调用方法的最佳选项

从jar包运行时,在Maven项目Java中找到一个文件夹class.getClassLoader()。getResource(“”); 方法

如何通过vbscript运行Java程序(JAR文件)?

如何在Tomcat 8中设置Java运行时参数