我的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目录,看看它是否运行。 任何建议或帮助将不胜感激。 提前致谢, 射线
答案 0 :(得分:0)
我不太清楚你在寻找什么。
如果您已将脚本和myprogram.jar放在同一级别,那么您编写的脚本应该可以正常工作。
而且我也不确定你的myprogram.jar是如何引用依赖库的。所以不能对它们发表评论。最好的办法是将脚本和所有jar放在一起,然后尝试运行脚本。
答案 1 :(得分:0)
你的问题非常“广泛”:)。我希望你能找到以下有用的东西。
不要将文件解压缩到/ usr / bin。参见例如http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard关于不在* nix系统上放置文件的位置和地点。
cd /opt/yourProgram
,以便在调用java
之前为您的程序提供正确的工作目录。/usr/bin
中创建符号链接,或者在/usr/local/bin
指向您的脚本时更好。在其他所有工作完成后,请执行此操作。在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呕吐:)