Я написал микросервис Spring Boot в Котлине, используя IntelliJ Idea, где он работает локально.Мне нужно развернуть его через WebShpere, но у меня возникли проблемы с запуском WAR.
Основной класс микросервиса выглядит следующим образом:
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
class MyApplication
fun main(args: Array<String>) {
runApplication<MyApplication>(*args)
}
После создания WAR с использованием mvn clean install
, еслиЯ разворачиваю его через WebSphere только с этим классом. Файл SystemOut.log
показывает, что служба вообще не запускается.Нет записи журнала, читающей "Started MyApplication in... <seconds>"
Другой разработчик добавил следующий класс в тот же пакет:
import org.springframework.boot.builder.SpringApplicationBuilder
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
class ServletInitializer : SpringBootServletInitializer() {
override fun configure(application: SpringApplicationBuilder) : SpringApplicationBuilder {
return application.sources(MyApplication::class.java)
}
}
Если я перестрою с помощью Maven и заново разверну через WebShpere, файл SystemOut.logпоказывает, что служба начинает запускаться, но вместо запуска класса MyApplication журнал просто читает "Started ServletInitializer in... <seconds>"
Я не могу понять, почему WebSphere, похоже, не запускает и не распознает основной класс.Любая помощь приветствуется.