gpt4 book ai didi

java - .jar 文件不带参数运行

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:07 26 4
gpt4 key购买 nike

我正在尝试通过命令在 Windows 上运行 .jar 文件(名为 MC),并且我使用以下代码:

java -jar MC.jar 

这有效,文件有一个弹出的 UI,我可以在那里手动更改一些参数。

但是,我想运行这个 .jar 文件而不弹出 UI,并通过命令行设置参数。该文件附带有关如何更改每个参数的说明。这是一个例子:

java -jar MC.jar bB 0.004

当我尝试从命令行运行此程序时,出现以下错误:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at CellSim.main(CellSim.java:113)

我不知道出了什么问题。我应该提到我不知道如何用 Java 编码,所以我没有看过源代码(这对我来说毫无意义)。我只需要重复运行这个 .jar 文件并使用它的输出(很多 .csv 文件)。

我还应该提到相同的 .jar 文件已在 Mac 和其他 Windows 计算机上成功使用,因此这让我认为这是我的 PC 特有的东西。

这是我在 Windows PC 上安装的:java版本“1.8.0_191”Java(TM) SE 运行时环境(版本 1.8.0_191-b12)Java HotSpot(TM) 客户端 VM(版本 25.191-b12,混合模式,共享)

这是我在 Mac 上安装的:java版本“1.8.0_25”Java(TM) SE 运行时环境(版本 1.8.0_25-b17)Java HotSpot(TM) 64 位服务器 VM(内部版本 25.25-b02,混合模式)

请帮忙!过去 3 个小时我一直在互联网上寻找解决方案。

您可以下载.jar文件here

下图中有有关可以更改的参数的更多详细信息。请注意,我已将该文件重命名为 MC.jar。 Details about the .jar file Complete list of parameters

最佳答案

有两种可能的原因/情况:

  • 这些属性不会传递到应用程序中(据我所知,您对此有疑问)

  • 只有参数确实正确传递时,代码中才会执行一些外部情况

如果jar创建正确,传递参数的方法是正确的,你可以确定这一点。

为了检查自己和练习(我知道这是一个“学生”问题),您可以在 main 方法中循环打印 while args 数组:

public static void main(String [] args) {
for(String arg : args) {
System.out.println(arg);
}

// now do your logic here
}

您很可能会看到正确打印的参数

所以这可能是第二种情况,您必须调试并检查那里发生了什么

关于java - .jar 文件不带参数运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53137498/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com