【问题标题】:Starting a java program from shellscript从 shell 脚本启动 java 程序
【发布时间】:2012-03-14 09:30:00
【问题描述】:

我是一个完整的 Linux 新手,但仍想为 Linux 用户提供一种简单的方式来启动我的 Java 程序。 因此,我想创建一个 shellscript。

我无法测试我的脚本,所以我必须在这里询问它是否正常工作:

#!/bin/bash
java -cp "bin";"extres/junit.jar" data.ProgramOne
exit 0

【问题讨论】:

  • 这看起来不错。您不需要引号,并且可以删除“exit 0”行。如果这是专业和复杂的事情,你应该在 linux 上测试它(使用虚拟机或无需安装即可测试的 ubuntu 发行版),因为应用程序的启动通常不是最大的移植问题。
  • 问题:为什么你不能测试你的脚本?为什么不下载一些像 VirtualBox 这样的虚拟机,安装 Ubuntu 并开始测试呢?它不像过去那样需要一台单独的机器来进行这样的测试......

标签: java linux shell unix


【解决方案1】:

您的错误在于路径分隔符。在 Windows 上是 ;,在 Linux 上是 :。 此外,您不应使用"" 包装每个类路径片段。在 unix 上,您可以使用 \ 转义空格和其他禁止字符。所以,我将java执行行重写为:

java -cp bin:extres/junit.jar data.ProgramOne

当您从具有子目录binextres 的应用目录执行脚本时,这将运行。

【讨论】:

    【解决方案2】:

    试试这个:

    java -cp "bin:extres/junit.jar" data.ProgramOne

    【讨论】:

      【解决方案3】:

      Unixes 下的 Java 使用 : 作为类路径中的分隔符,所以你需要(引号不是必需的):

      #!/bin/bash
      java -cp bin:extres/junit.jar data.ProgramOne
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-28
        • 2011-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 2011-09-27
        相关资源
        最近更新 更多