gpt4 book ai didi

java - 通过 $chosen 变量在运行命令中自动调用 Java 参数

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

我做了一个组合:

$Combo1 = GUICtrlCreateCombo("Java Memory", 24, 872, 145, 25, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "-Xmx1024M|-Xmx2048M|-Xmx3072M|-Xmx4096M")

然后我添加了一些内容来阅读它:

$chosen = GUICtrlRead($Combo1)

然后我创建了一个运行命令并将 $chosen 放入其中:

Run ("java -jar spigot-1.6.2-R0.1.jar " & $chosen, "E:\Spill\Alle spill\Minecraft\KnarCraft 2013")

当我没有在下拉列表中选择选项时,它就会启动。当我这样做时,它会出现一个立即消失的窗口,但它显示了所有有效参数,因此它的读取方式出现了问题。我认为这与 - 但我不知道我应该怎么做。我尝试使用 - 然后使用变量,但随后它将其读取为 -$chosen 而不是“-”+“$chosen 中的选择”。

最佳答案

  • 首先,我认为 java 命令行的顺序很重要,因此 -Xmx 选项应该位于“java”之后、“-jar”标记之前。
  • 接下来,我想知道您是否尝试使用过多的内存。您是否考虑过使用较小的值进行测试?

例如:

$Combo1 = GUICtrlCreateCombo("Java Memory", 10, 10, 142, 25, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "-Xmx100M|-Xmx200M|-Xmx400M|-Xmx800M|-Xmx1024M|-Xmx2048M|-Xmx3072M|-Xmx4096M")

然后查看较小的数字是否有效以及较大的数字是否会破坏程序。

我的测试程序:

AutoIt 程序,MyFoo.au3:

#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
Local $msg
GUICreate("My GUI combo") ; will create a dialog box that when displayed is centered

$Combo1 = GUICtrlCreateCombo("Java Memory", 10, 10, 142, 25, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, "-Xmx100M|-Xmx200M|-Xmx400M|-Xmx800M|-Xmx1024M|-Xmx2048M|-Xmx3072M|-Xmx4096M")

GUISetState()

; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
If $msg = $Combo1 Then
$chosen = GUICtrlRead($Combo1)
$runString1 = "java " & $chosen & " -jar MyFoo.jar"
$runString2 = "java -jar MyFoo.jar " & $chosen
ConsoleWrite($runString1 & @CRLF)
Run($runString1)
EndIf

If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
EndFunc

Java 测试程序,MyAutoItFoo.java。当然,这是首先被 jar 装的:

import javax.swing.JOptionPane;

public class MyAutoItFoo {
public static void main(String[] args) {
long heapSize = Runtime.getRuntime().totalMemory();
long heapMaxSize = Runtime.getRuntime().maxMemory();
String heapString = String.format("Heap Size = %H; Max Heap = %H",
heapSize, heapMaxSize);
System.out.println(heapString);
JOptionPane.showMessageDialog(null, heapString);
}
}

关于java - 通过 $chosen 变量在运行命令中自动调用 Java 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17821180/

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