1
我目前正在使用SpringBootApplications,我有兩個不同的@SpringBootApplication,一個用於Web應用程序和一個CommandLineRunner。多個SpringBoot應用程序,只想運行一個
問題是,無論我執行哪個,它都會嘗試運行這兩個應用程序。
package com.ws;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.context.annotation.Configuration;
@EnableAutoConfiguration
public class Init extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Init.class);
}
/**
* Main method.
*
* @param args String[].
* @throws Exception Exception.
*/
public static void main(String[] args) throws Exception {
SpringApplication.run(Init.class, args);
}
這是我的其他InitBatch.java:
package com.batch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class InitBatch implements CommandLineRunner {
@Autowired
private Batch batch;
@Override
public void run(String... args) throws Exception {
batch.processFiles();
}
public static void main(String[] args) throws Exception {
SpringApplication.run(InitBatch.class, args);
}
}
如果我運行CommandLineRunner應用程序,執行完成後,繼續加載Web應用程序。
我需要能夠分別從每個運行它們中的每一個。但我不知道如何配置它。
謝謝!
請將軟件包加入主類源。 – luboskrnac
可能的重複[如何告訴Spring Boot哪個主要類用於可執行jar?](http://stackoverflow.com/questions/23217002/how-do-i-tell-spring-boot-which-main -class-to-the-the-the-executable-jar) –
你使用maven來構建你的代碼嗎? – Jobin