将没有web项目的springboot打包到可运行的Jar中,并由java-Jar运行,但@Scheduled方法不起作用

将没有web项目的springboot打包到可运行的Jar中,并由java-Jar运行,但@Scheduled方法不起作用,java,spring-boot,jar,scheduler,Java,Spring Boot,Jar,Scheduler,我正在构建一个没有web服务器的SpringBoot项目,因为我不需要它。我使用terminaljava-jar)运行了它 我用注解@Schedule编写了一些方法,比如: @Scheduled(initialDelay = 1000, fixedRate = 10000) public void goGetAll() { log.info("HELLO I AM RUNNING THIS SCHEDULE "); } 当我试图通过eclipse运行这个项目时,

我正在构建一个没有web服务器的SpringBoot项目,因为我不需要它。我使用
terminal
java-jar)运行了它

我用注解@Schedule编写了一些方法,比如:

@Scheduled(initialDelay = 1000, fixedRate = 10000)
    public void goGetAll() {
        log.info("HELLO I AM RUNNING THIS SCHEDULE ");
    }
当我试图通过eclipse运行这个项目时,执行的输出是 就像这样:

下面是另一种情况,将此项目打包到jar并通过cmd运行它 这是我的主要方法

public static void main(String[] args) {
    System.out.println("main run");
    SpringApplication.run(MyClass.class, args);
    System.out.println("main run2");
}

我可以在屏幕上看到main run

我建议使用
println
而不是
log.info
。那就行了。

这是我朋友的答案~ 他建议我查一下这个网站

我发现这个web使用mvn cmd将项目打包到jar,然后我按照它的方式打包,我发现ide包jar和mvn包jar在内部是不同的

左边是mvn包jar,右边是eclipse包jar, 这里的结构不同,这就是原因,
我运行java-jar到mvn包jar,然后所有schedule system.out.println msg成功显示。

不起作用实际上我认为关于“main run2”的内容没有显示可能意味着我的spring boot没有成功初始化,然后我的朋友为我找到了一个可能正确的解决方案,我尝试了它,然后@schedule run will,我稍后将分享~~~