java - 如何在 Linux 上从 shell 脚本运行 java 代码

标签 java linux shell classpath sh

我想为我的 java 代码设置一个 cron 作业,我已经在项目目录中尝试过了

    java -classpath .:/home/project/lib/* pkg_name.my_code

它工作正常,但是我不知道如何从任何其他目录运行它[比如在脚本中] 我试过像这样在类路径中添加目录(具有编译类)

    java -classpath .:/home/project/lib/*;/home/project/pkg_name/* pkg_name.my_code

也试过

    java -classpath ".:/home/project/lib/*;/home/project/pkg_name/*" pkg_name.my_code

但它给出了错误:

**错误:无法找到或加载主类 pkg_name.my_code **

有什么可以帮助我的吗?

最佳答案

如果你想从另一个目录运行你的项目,那么你需要将你的项目包含在类路径中。所以你可以这样做

java -classpath ".:/home/project/lib/*:/home/project" pkg_name.my_code

例如:

java -classpath ".:/home/test/runjavafromanotherdirectory/lib/*:./runjavafromanotherdirectory" com.test.Main

您的错误之一是您使用的是 ; 而不是 :

关于java - 如何在 Linux 上从 shell 脚本运行 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26041510/

相关文章:

java - 使用 gradle 复制构建 Artifact

linux - 在 expect 脚本中运行 shell 命令作为对生成操作的 react

linux - 在 bash 中的并行进程之间添加等待

android - 通过 adb shell service callisms Android 4.1.2 发送短信

java - 具有共享代码的两个代号一个项目

没有 "direct access"的 Java ArrayList

linux - 如何在 linux 的 tomcat7 webapps 中复制我的 war 文件

linux - 如何在 Debian Jessie 中安装 dotnet core sdk

bash - 减去两个变量

java - 获取的 URL 并保存到 Blobstore : AppEngine (java)