【问题标题】:Startup Script for Java [closed]Java的启动脚本[关闭]
【发布时间】:2014-07-02 06:37:09
【问题描述】:

我正在尝试为我的 java 应用程序制作一个启动脚本,我尝试在高级安装程序中为此制作一个安装程序。在那里我添加了jvm arguments 但它不起作用,那是一个单独的问题......

我要问的是:是否有一个脚本可以与我的 JAR 文件一起放在 C 驱动器中,以便我从桌面的快捷方式运行该脚本,然后打开JAR 增加堆空间?

我也找不到如何在 Google 上制作启动脚本,抱歉我不太熟悉/了解 Bat 文件脚本

这个问题有点像我的last question的延伸

【问题讨论】:

  • 反对者请发表评论。
  • 你的 JAR 有依赖关系吗?
  • @Edmondo1984 是的,我使用其中的很多,比如 TTS
  • 在这种情况下,您需要构建一个包含所有依赖项的 Fat JAR,否则代码将无法运行。如果你有一个胖 JAR,下面的答案是正确的,如果你不需要,你需要构建它。
  • @Edmondo1984 我不知道这些是否称为依赖项,但我添加了一些 JAR,例如 freeTTS.jar 和一些 apache 库....而且我什至没有知道你所说的 FAT Jar 是什么意思或如何创建它......我在这里感觉真的很愚蠢:(

标签: java jvm-arguments


【解决方案1】:

您可以创建一个批处理脚本文件“.bat”来运行类似的命令 -

java JVM_Arguments -jar yourJarFile.jar
pause

pause 是可选的,如果您想在 jar 执行结束时停止关闭命令提示符 - 检查错误或仅检查执行的输出。

【讨论】:

  • 不要忘记在 bat 文件的新行中添加 pause,否则命令提示符将退出太快,您将看不到错误。 (当然,除非你从命令提示符运行它)。
  • 这似乎有效,我会在确定它有效后接受答案。现在我已经 +1 了:D 谢谢
  • @SSpoke 为什么我需要它?完成开发后,我将添加此内容。这是给最终用户的……我还需要那个吗?
  • @DakshShah 您可能只需要pause 用于开发。或者,您可以打开命令提示符并从那里运行批处理文件。
  • @SSpoke 好的,谢谢,现在请将其添加到答案中并删除 cmets,以便为未来的观众提供良好的格式
【解决方案2】:

java -jar PATH_TO_YOUR_JAR 在批处理文件中应该这样做。但条件是你的 jar 应该是可执行的。

【讨论】:

    【解决方案3】:

    通常,JAR 具有不作为其一部分打包的外部依赖项,但需要在运行 JAR 时提供给 Java 虚拟机(它们需要在 类路径中)

    如果您想从命令行运行您的课程,您有几种解决方案:

    • 按照上面或Run class in Jar file 中的建议创建批处理脚本。您必须小心地为 -cp 参数提供所有所需的 jars
    • 创建一个“fat” jar,其中包含来自外部 jar 的所有类。如果您需要许多库,这可能会生成几兆字节的 JAR。在这种情况下,编写批处理脚本将不需要您添加所有 jar,因为它们将包含在 fat jar
    • 使用构建系统启动应用程序,该系统能够使用正确的参数为您编写对 java 可执行文件的调用

    一般的建议是您熟悉 Java 中的类加载,然后再熟悉构建系统,无论何时开发非平凡的应用程序,它们都将成为您最好的朋友。我可能会建议你从 Maven 开始,即使现在有更好的工具,例如 Gradle 或 SBT

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 2013-02-08
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 2016-06-08
      • 2014-11-07
      • 2013-02-08
      • 1970-01-01
      相关资源
      最近更新 更多