使用用户输入在命令行中运行 java 项目

     2023-03-07     227

关键词:

【中文标题】使用用户输入在命令行中运行 java 项目【英文标题】:Running java project in command line with user input 【发布时间】:2016-03-12 10:18:54 【问题描述】:

我有一个在命令行中运行的 java 项目。我创建了一个 .bat 文件来运行该项目。但是,我的 java 项目在开始运行之前必须接受 4 个参数,这在我的 .bat 文件中就像这样......

@echo off
pushd %~dp0
java -jar dist/prog.jar 5 6 7 3

pause

(5 6 7 3 being the arguments passed to String[] args)

但是,我不想在 .bat 文件中输入要传递给 String[] args 的特定参数,我希望它由用户输入传递,以便我可以在每次我运行它的命令行。我该怎么做?

【问题讨论】:

How to Ask a Good Question 使用SET /P。详见命令帮助:SET /? 【参考方案1】:

您可以使用 % 替换来传递给 .cmd 的参数

@echo off
pushd %~dp0
REM %* forwards all parameters
java -jar dist/Election_real.jar %*
pause

然后拨打yourcmd.cmd 5 6 7 8

如果你想询问这些参数,你会去

@echo off
pushd %~dp0
set /p nr1=Enter Nr1:
set /p nr2=Enter Nr2:
set /p nr3=Enter Nr3:
set /p nr4=Enter Nr4: 
java -jar dist/Election_real.jar %nr1% %nr2% %nr3% %nr4%
pause

【讨论】:

好的,所以我添加了 %* 并且它没有等待我输入参数。基本上在我的 Java 项目中,如果有一个 if 语句表明 String[] args =0 的长度,那么它将使用默认参数运行项目。因此,一旦我运行我的 .bat 文件,即使使用 java -jar dist/Election_real.jar %* 它也只是使用默认参数立即运行我的项目,而不是等待我输入我的自定义参数 那我完全误解了你的要求——你用 %* 将参数传递从 .cmd 到 java。如果您希望您的 .cmd 要求这些...然后设置 /P 是要走的路。我会编辑。 太棒了,谢谢!有效!最后一件事,只是我很挑剔,但现在我的用户输入例如看起来像这样:5、4(在下一行)、2(在下一行)、7(在下一行)......我怎么能使所有 4 个输入都输入一行,例如 4 5 6 7 消除回声,输入所有 4 5 6 7 作为 nr1 并查看结果。由于 %nr1% 没有被转义为 " 它可能会将 7 个 args 传递到你的 main 然后...... 你很清楚所有这些都可以在你的 main () 中完成

使用外部 jar 在 debian 10 命令行中运行 java 程序

】使用外部jar在debian10命令行中运行java程序【英文标题】:runjavaprogramindebian10commandlinewithexternaljar【发布时间】:2021-11-1006:20:33【问题描述】:我在下面的程序中使用postgresql-42.2.23.jar。我已经在intelijide的windows环境中测试了代码... 查看详情

在命令行中制作一个java包

...的一种用途和IDE,但我个人更喜欢几乎完全运行命令行(使用gedit作为文本编辑器)。所以请不要只告诉我“只需使用eclipse!”什么的:P我的问题是通过命令在java中创建包的方法是什么。我不是在谈论打包一个在命令行中运 查看详情

处理用户输入(代码片段)

...入;1、命令行参数  向shell脚本传递数据的基本方式是使用命令行参数(commandlineparameters)。使用命令行参数可以在执行脚本时向命令行中添加数据值./addem1030  #向addem脚本传入1030两个参数  1.1 查看详情

java在命令行中编译和运行java

.../details/50792353同时加载编译多个jar包和java文件在个人平常使用或者当我们把代码部署到Linux服务器上的时候,我们经常需要通过命令行编译和运行Java文件,网上关于这个的方法大多是通过javac-cpfilePath/jarName.jar  javaName.java这种... 查看详情

本地安装的 gulp 不在命令行中运行?

...目上工作,我必须在所有文件上运行jslint。为此,我正在使用gulp。我的问题是,为了在cli上运行gulp,我不想全局安装gulp,也不想更新我的路径变量,所以我使用包在本地项 查看详情

vue学习一:新建或打开vue项目

...,会在桌面生成该文件夹),运行初始化命令的时候回让用户输入几个基本的选项,如项目名称,描述,作者等信息,如果不想填直接回车默认就好。 打开firstVue文件夹,项目文件如下所示,这就是脚手架的作用,搭建工作... 查看详情

有没有办法对用户在 Python 命令行中输入的文本进行哈希处理? [复制]

】有没有办法对用户在Python命令行中输入的文本进行哈希处理?[复制]【英文标题】:IsthereawaytohashtextthatauserputsintothecommandlineinPython?[duplicate]【发布时间】:2021-08-0121:05:02【问题描述】:我正在尝试做的是命令行登录。用户输入... 查看详情

如何使用xmanager下的xshell远程连接linux

你好,先登录虚拟机之后然后输入ifconfig这个命令,会出现一个ip地址,随后打开Xshell输入:ssh+IP地址就行了哦(中间有个空格)前提电脑要接网线哦追答感谢,有问题可以多交流交流参考技术A1、首先下载xmanager并安装;2、打开xmanag... 查看详情

使用命令行中的值填充现有 LibreOffice 文档

】使用命令行中的值填充现有LibreOffice文档【英文标题】:FillanexistingLibreOfficedocumentwithvaluesfromthecommandline【发布时间】:2019-05-1215:10:58【问题描述】:我运行了一个bash脚本,该脚本在计费运行结束时生成PDF。我曾经用LaTeX做到这... 查看详情

无法通过在 phpMyAdmin 中创建的用户在命令行中访问 MySQL

...yAdmin【发布时间】:2021-12-2023:20:02【问题描述】:我正在使用Mamp进入phpMyAdmin,并创建了一个用户。我尝试通过命令行访问MySQL:mysql-utesting-p,然后输入密码。我得到Accessdeniedf 查看详情

如何在命令行中运行 ZAP 扫描?

...dline?【发布时间】:2021-08-0311:59:24【问题描述】:我正在使用OWASPZAP工具在asp.net核心网络应用程序上运行笔测试。当我使用OwaspZAP的windows应用程序运行测试时,测试运行良好并给出结果,但是当我尝试使用命令行运行测试时,我... 查看详情

处理用户输入与显示数据------------(参数计数获取所有数据)

...时包含的命令行参数的个数。在脚本中的任意位置都可以使用这个特殊变量。 这个变量($#)还提供了一个很酷的方法来获取命令行中的最后一个参数,使用这种方法不必知道使用的参数个数。当命令行中没有任 查看详情

用dos命令怎样将普通用户提升为管理员

...有的账户;3、然后增加一个名叫xiaoming,登录密码是123的用户账户,方法是,在命令行输入:netuserxiaoming123/add,输入完按回车后,提示命令成功完成;4、然后输入命令:netlocalgroupadministratorsxiaoming/add把xiaoming的普通用户账户加入... 查看详情

vscode在终端下使用code./打开当前项目(代码片段)

MacOS VisualStudioCode的扩展工具菜单中有Installcommandline的快捷安装运行VScode并打开命令面板(??P),然后输入 shellcommand 找到: Install‘code‘commandinPATH 就行了。code命令还支持其他参数,具体看这里。然后在终端... 查看详情

无法使用 system() 在 matlab 中运行可执行文件,但它可以在命令行中运行

】无法使用system()在matlab中运行可执行文件,但它可以在命令行中运行【英文标题】:Can\'trunanexecutablefileinmatlabwithsystem(),butitworksincommandline【发布时间】:2014-06-2203:29:46【问题描述】:我需要使用Matlab中的系统命令运行一个使用O... 查看详情

如何在 Windows 命令行中使用参数运行 Python 脚本

】如何在Windows命令行中使用参数运行Python脚本【英文标题】:HowdoIrunPythonscriptusingargumentsinwindowscommandline【发布时间】:2013-07-0619:52:54【问题描述】:这是我的pythonhello.py脚本:defhello(a,b):print"helloandthat\'syoursum:"sum=a+bprintsumimportsys... 查看详情

centos的linux如何在命令行中输入中文

...profile在最后添加LANG=zh_CN.UTF-8export LANG保存退出在终端输入sourceprofilePS:1)你说的命令行模式输入不了中文是不是3运行级别,Xwindows图形界面是5运行级别.在3运行级别,也就是系统标准运行级别,只能显示中文,是不支持输入中文的.... 查看详情

在命令行中输入啥以在散景服务应用程序中运行 spark?我是不是只需用 && 分隔两个命令行条目?

】在命令行中输入啥以在散景服务应用程序中运行spark?我是不是只需用&&分隔两个命令行条目?【英文标题】:Whatdoesoneenteronthecommandlinetorunsparkinabokehserveapp?DoIsimplyseparatethetwocommandlineentriesby&&?在命令行中输入什么以... 查看详情