将不带web项目的Spring Boot打包成可运行的JAR文件,并通过java -jar命令运行时,@Scheduled注解的方法不起作用的原因可能是缺少定时任务的配置。
要解决这个问题,可以按照以下步骤进行操作:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class YourApplication {
public static void main(String[] args) {
SpringApplication.run(YourApplication.class, args);
}
}
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class YourScheduledTask {
@Scheduled(cron = "0 0 0 * * ?") // 每天凌晨执行
public void yourTask() {
// 定时任务的逻辑代码
}
}
<dependencies>
<!-- 其他依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
mvn clean package
java -jar your-application.jar
通过以上步骤,应该能够成功运行不带web项目的Spring Boot应用,并使@Scheduled注解的方法正常工作。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议您访问腾讯云官方网站,查找与云计算相关的产品和文档,以获取更详细的信息。
领取专属 10元无门槛券
手把手带您无忧上云