gpt4 book ai didi

java - 在没有命令窗口的 Windows 上启动 Scala Swing 应用程序

转载 作者:可可西里 更新时间:2023-11-01 12:41:58 26 4
gpt4 key购买 nike

我在 .jar 文件中有一个用 Scala 编写的 Swing 应用程序。我使用命令 scala "filepath\filename.jar" 创建了一个桌面快捷方式,它可以工作,除了它首先打开一个命令窗口,该窗口位于后台,直到我关闭应用程序。我想让它消失。

我认为对于 Java,您应该为此目的使用 javaw 而不是 java。我尝试将 scala.bat 文件复制到一个名为 scalaw.bat 的新文件并将第 24 行更改为

if exist "%JAVA_HOME%\bin\javaw.exe" set "_JAVACMD=%JAVA_HOME%\bin\javaw.exe" 

和第 28 行到

if "%_JAVACMD%"=="" set _JAVACMD=javaw

但是(更新桌面快捷方式后)我仍然会看到命令窗口。有什么想法吗?


更新:我尝试将 scala-library.jar 添加到 list 中,但它不起作用,我猜是因为路径是相对于 jar 的根目录的。其他选项似乎是在 jar 文件中包含整个 scala-library jar (Creating a jar file from a Scala file) ,但我认为这不是解决方案。

或者我可以将 jar 解压到它的 .class 文件中并使用快捷方式

javaw.exe -cp "%SCALA_HOME%/lib/scala-library.jar";"filepath\\"packageName.className

但是……这涉及到打开 jar 的包装。

我发现的另一个半解决方法是编辑快捷方式,以便命令窗口最小化运行。


解决方案:根据 eugener 的回答,您需要使用 javaw 不带 -jar 选项,但要指定 jar 文件,例如

javaw -cp "%SCALA_HOME%/lib/*";"C:/path/yourjar.jar" packageName.className

如果它是一个 Swing 应用程序并且您使用 scala-swing 库,您也需要包含它,或者使用上面的 * 通配符。

最佳答案

我建议直接使用 javaw 启动您的应用。由于 Scala 编译成与 Java 相同的字节码——你可以做到。不要忘记将标准 Scala 库添加到类路径

关于java - 在没有命令窗口的 Windows 上启动 Scala Swing 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7372264/

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