Я пытаюсь создать развертываемый * .war из приложения Spring Boot, следуя его документации.У меня возникли проблемы при расширении SpringBootServletInitializer.Это дает мне ошибку времени компиляции, говорящую The type org.springframework.web.WebApplicationInitializer cannot be resolved. It is indirectly referenced from required .class files
.Но в каталоге зависимостей Maven ясно видно, что SpringBootServletInitializer.class
существует в spring-boot-1.5.10.RELEASE
jar.Он был загружен как часть camel-spring-boot-starter
зависимости.
Мой главный класс
@SpringBootApplication
@EnableAutoConfiguration
public class SpringCamelApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(SpringCamelApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringCamelApplication.class);
}
@Bean
public RestConfiguration restConfiguration()
{
RestConfiguration restconfig=new RestConfiguration();
restconfig.setPort(8081);
restconfig.setComponent("restlet");
//restconfig.setHost("localhost");
restconfig.setContextPath("/api");
restconfig.setBindingMode("auto");
return restconfig;
}
}
Мой pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>com.camel</groupId>
<artifactId>spring-camel</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>spring-camel</name>
<description>Demo project for Spring Boot</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<camel.version>2.21.0</camel.version>
<spring.version>2.0.0.RELEASE</spring.version>
<start-class>com.camel.springcamel.SpringCamelApplication</start-class>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-boot-starter</artifactId>
<version>${camel.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-restlet</artifactId>
<version>${camel.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Куда я здесь не так?Я заметил, что если я использую spring-boot-starter-web
зависимость, то это не дает мне никакой ошибки, но у меня уже есть camel-spring-boot-starter
, поэтому мне не нужно spring-boot-starter-web
.Кто-нибудь может объяснить, что здесь на самом деле не так?Заранее спасибо.