Удалите плагины из ваших профилей. Меняйте только упаковку.
<packaging>${application.packaging}</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<application.packaging>jar</application.packaging>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>war</id>
<properties>
<application.packaging>war</application.packaging>
</properties>
</profile>
</profiles>
Это все, что вам нужно. Не больше, не меньше. Плагин войны, используемый Spring Boot, уже более новый, который больше не требует web.xml
.
Хотя я бы настоятельно рекомендовал против этого и использовать war
в качестве упаковки для dev. Вы можете прекрасно выполнить war
, как jar
. Так что просто создайте war
.
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</provided>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Это создаст файл войны, который может быть как исполняемым, так и развертываемым. Это все объясняется также в Spring Boot Documentation . Там есть целый раздел о том, как это сделать.