Внутри этого проекта я использую Spring Boot в качестве бэкэнда, и он будет скомпилирован как файл web-application.war.
У меня есть класс CronJobHandler, реализовавший CommandLineRunner
Код: Выделить всё
package company.project.cronjobs;
public class CronJobHandler implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(CronJobHandler.class, args);
}
}
Код: Выделить всё
* * * * * /opt/tmp/cronjob.sh
он должен использовать команду Java для запуска этого конкретного класса командной строки ( это CronJobHandler .
Поскольку я собираюсь повторно использовать некоторые функции в CronJobHandler , например, я определил некоторые функции в классе интерфейса UserService, и конкретная логика определена внутри Класс UserServiceImpl @Service, в котором реализован интерфейс UserService
Код: Выделить всё
import company.project.servic.UserService;
import company.project.entity.User;
@Autowired
private UserService userService;
@Override
public void run(String... args) {
System.out.println("start running cronjob handler");
//getting user using service class from spring boot feature
User user = userService.getUser(1);
}
Я попробовал скомпилировать проект следующим образом:
Код: Выделить всё
mvn clean package
Код: Выделить всё
# Construct the classpath
JAVA_CLASSPATH="../target/web-application.war:../target/web-application/WEB-INF/classes:../target/web-application/WEB-INF/lib/*"
MAIN_CLASS="comany.project.cronjobs.CronJobHandler"
# Run the compiled class
java -classpath "$JAVA_CLASSPATH" "$MAIN_CLASS"
поскольку некоторые сообщения об ошибках, подобные показанному ниже, показаны на моем терминал:
Код: Выделить всё
Description:
Field userService in company.project.cronjobs.CronJobHandler required a bean of type 'company.project.services.UserService' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'company.project.services.UserService' in your configuration.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ss-program
Мобильная версия