Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将参数传递给在bat文件中调用的jar文件?_Java_Batch File_Executable Jar - Fatal编程技术网

Java 将参数传递给在bat文件中调用的jar文件?

Java 将参数传递给在bat文件中调用的jar文件?,java,batch-file,executable-jar,Java,Batch File,Executable Jar,我已经创建了一个jar,需要在bat文件中调用它。我需要将bat文件接收到的所有命令行参数传递给jar。谁能帮帮我吗。我知道这是个愚蠢的问题,但我对罐子和蝙蝠一无所知。在网上我找不到两者的结合。还请注意,我不知道如何重新设置bat文件中的命令行参数。在bat文件中,您将拥有javacommand 只需使用java-jar helloworld.jar firstParam secondParam和我相信您也可以使用,因为我们将参数传递给Maven和ANT等 mybatchFile.bat -Df

我已经创建了一个jar,需要在bat文件中调用它。我需要将bat文件接收到的所有命令行参数传递给jar。谁能帮帮我吗。我知道这是个愚蠢的问题,但我对罐子和蝙蝠一无所知。在网上我找不到两者的结合。还请注意,我不知道如何重新设置bat文件中的命令行参数。

在bat文件中,您将拥有
java
command
只需使用
java-jar helloworld.jar firstParam secondParam

我相信您也可以使用,因为我们将参数传递给
Maven
ANT

mybatchFile.bat -DfirstParam -DsecondParam

传递给批处理文件的参数可以通过

%1 %2 %3 ...
所以如果你把你的批次称为

C:>application.bat param1 param2 param3
那么批处理文件中的java调用应该如下所示:

@echo off
java -cp app.jar com.example.Main %1 %2 %3

如果您不知道用户可以向批处理文件传递多少个参数(如果有的话),那么无论用户传递了多少参数,您都需要获取参数的数量,只需在开始时将以下代码段添加到主方法中即可

for (String s : args) {
    // Iterate through String array in Java (args list)
    System.out.println(s);
}

您可以将所有参数存储在Arraylist中以使用它,并在以后对其进行迭代

您的意思是
java-jar helloworld.jar firstParam secondParam
,对吗?好的。。。你确定没有必要像Andreas所说的那样给出主类吗?但是你如何以一种通用的方式做到这一点,也就是说,你不知道用户可以向批处理文件传递多少参数(如果有的话)。问题是,OP使用的是bat文件,而不是java代码。。。