尝试从Ubuntu 10.04上的shell脚本运行java应用程序

时间:2012-03-12 13:25:50

标签: java ubuntu-10.04

我的java程序是在Windows机器上编写的,我试图在Ubuntu 10.04机器上安装并运行它。我创建了一个带有myProgram.jar的.tar.gz文件,以及一个lib文件夹中的5个支持库.jar文件。我在哪里放这些文件?我是否需要在Linux机器上将其解压缩到usr / bin文件夹? shell脚本是否在tar.gz中?我已经读过,如果你在Windows机器上编写shell脚本,一旦你将它移动到Linux机器就会出现问题,所以我使用gedit在Linux机器上编写shell脚本。我不知道下一步该做什么。 到目前为止,在我的剧本中,我有,

#!/bin/bash 
java -jar myProgram.jar

我将尝试将tar.gz文件解压缩到usr / bin目录,看看它是否运行。 任何建议或帮助将不胜感激。 提前致谢, 射线

2 个答案:

答案 0 :(得分:0)

我不太清楚你在寻找什么。

如果您已将脚本和myprogram.jar放在同一级别,那么您编写的脚本应该可以正常工作。

而且我也不确定你的myprogram.jar是如何引用依赖库的。所以不能对它们发表评论。最好的办法是将脚本和所有jar放在一起,然后尝试运行脚本。

答案 1 :(得分:0)

你的问题非常“广泛”:)。我希望你能找到以下有用的东西。

不要将文件解压缩到/ usr / bin。参见例如http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard关于不在* nix系统上放置文件的位置和地点。

  1. 将罐子提取到例如的/ opt / yourProgram /*.
  2. shell脚本也应该在里面。确保其可执行文件(即chmod 755 script.sh)
  3. 在您的shell脚本中添加cd /opt/yourProgram,以便在调用java之前为您的程序提供正确的工作目录。
  4. 如果您希望每个人都能轻松启动此程序,请在/usr/bin中创建符号链接,或者在/usr/local/bin指向您的脚本时更好。在其他所有工作完成后,请执行此操作。
  5. 在shell脚本中,您必须将其他jar添加到类路径中,例如

    java -cp lib/some.jar:lib/other.jar -jar myProgram.jar

    java -cp lib/some.jar:lib/other.jar:myProgram.jar com.acme.ClassContainingMain

    推荐做法:在脚本的最开头添加set -e

    正如您已经提到的,使用Windows编辑器编辑shell脚本被认为是有害的。原因是Windows编辑器将以不同方式编码换行符(即您点击Return键)。这将使bash呕吐:)