为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

森栏 2021-07-10 07:09:16
我正在编写一个可以在所有流行平台(Windows、Mac 和 Linux)上运行的命令行工具。我正在考虑编写它,golang因为它可以生成静态编译的二进制文件,并且可以在上述所有平台上运行。在我做出决定之前,我需要评估Java一下,看看它是否可以做到这一点。我想知道是否可以在 Java 中创建一流的命令行程序?AFAIK,需要像这样启动 Java 程序java -cp classpath MyApp现在我需要将它包装在一个 shell 脚本中以改善体验。就像是,#!/bin/shjava -cp classpath MyApp $@现在用户可以这样做:myapp --arg1 value --arg2 value问题是这种方法不是跨平台的。在 Windows 上,我需要编写一个批处理文件来执行此操作。我不确定这是否是在 Java 中做的正确方法。有没有更好的方法来处理这个问题?
查看完整描述

3 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

您发布的解决方案(调用 java 的平台特定脚本文件)确实是最容易和最快实现的。如果这还不足以满足您的需求,则有几种解决方案可提供更好的可用性:

  1. 可执行的 jar 文件。基本上通过在 MANIFEST.MF 条目中声明您的主类,通过双击某些平台(当然是 windows,其余的我不确定),文件变得可执行。请注意,这需要在机器上正确安装 JRE。

  2. 服务包装器。有 3rd 方产品会将您的 Java 应用程序包装在本机可执行文件中,并让您的应用程序“感觉”像本机应用程序。最常用的是tanuki 服务包装器,但还有其他的(launch4j是一种开源替代品,适合您所需的操作系统集)


查看完整回答
反对 回复 2021-07-19
  • 3 回答
  • 0 关注
  • 208 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信