Как запустить Java-код из сценария оболочки на Linux

1

Я хочу установить задание cron для моего java-кода, и я попробовал это из каталога проекта

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

и он отлично работает, однако я не знаю, как запустить его из любого другого каталога [как в скрипте]. Я попытался добавить diroctry (скомпилированные классы) в classpath как это

    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 **

может ли кто-нибудь помочь мне?

  • 0
    у вас есть фляга? файл класса? или файл .java ?
  • 1
    Попробуйте удалить подстановочные знаки. Просто введите имя каталога, содержащего пакеты, или полное имя (каталог + имя файла) банок. например: -classpath /home/project:/home/project/lib/someJar.jar:/home/project/lib/someOtherJar.jar
Показать ещё 5 комментариев
Теги:
sh
classpath

1 ответ

1
Лучший ответ

Если вы хотите запустить свой проект из другого каталога, вам нужно включить свой проект в classpath. Таким образом, вы можете сделать это

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

Например:

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

Одна из ваших ошибок заключается в том, что вы используете ; а не :

  • 0
    это работает спасибо :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню