如何在 Java 中创建命令行应用程序?

我正在编写一个可以在所有流行平台(Windows、Mac 和 Linux)上运行的命令行工具。我正在考虑编写它,golang因为它可以生成静态编译的二进制文件,并且可以在上述所有平台上运行。在我做出决定之前,我需要评估Java一下,看看它是否可以做到这一点。


我想知道是否可以在 Java 中创建一流的命令行程序?AFAIK,需要像这样启动 Java 程序


java -cp classpath MyApp

现在我需要将它包装在一个 shell 脚本中以改善体验。就像是,


#!/bin/sh

java -cp classpath MyApp $@

现在用户可以这样做:


myapp --arg1 value --arg2 value

问题是这种方法不是跨平台的。在 Windows 上,我需要编写一个批处理文件来执行此操作。


我不确定这是否是在 Java 中做的正确方法。有没有更好的方法来处理这个问题?




森栏
浏览 209回答 3
3回答

Helenr

您发布的解决方案(调用 java 的平台特定脚本文件)确实是最容易和最快实现的。如果这还不足以满足您的需求,则有几种解决方案可提供更好的可用性:可执行的 jar 文件。基本上通过在 MANIFEST.MF 条目中声明您的主类,通过双击某些平台(当然是 windows,其余的我不确定),文件变得可执行。请注意,这需要在机器上正确安装 JRE。服务包装器。有 3rd 方产品会将您的 Java 应用程序包装在本机可执行文件中,并让您的应用程序“感觉”像本机应用程序。最常用的是tanuki 服务包装器,但还有其他的(launch4j是一种开源替代品,适合您所需的操作系统集)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java