package eu.eudat; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.scheduling.annotation.EnableAsync; import java.util.Map; @SpringBootApplication(scanBasePackages = { "eu.eudat", "eu.eudat.depositinterface", "gr.cite", "gr.cite.tools", "gr.cite.commons", "eu.eudat.controllers.controllerhandler" }) @EntityScan({ "eu.eudat.data"}) @EnableAsync public class EuDatApplication extends SpringBootServletInitializer { @Bean @Primary public ObjectMapper primaryObjectMapper(Jackson2ObjectMapperBuilder builder) { return builder.modulesToInstall(new JavaTimeModule()).build(); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(EuDatApplication.class); } public static void main(String[] args) { SpringApplication.run(EuDatApplication.class, args); } }