Ist web.xml zur Bereitstellung eines spring-boot-Anwendung
Ich versuche zu Paket eine spring-boot-Anwendung, die als ein Krieg. Nach diese, ich meine modifizierten Anwendung Klasse:
@SpringBootApplication
@EntityScan({"org.mdacc.rists.cghub.model"})
@EnableJpaRepositories(basePackages = {"org.mdacc.rists.cghub.ws.repository"})
public class Application extends SpringBootServletInitializer
{
public static void main( String[] args )
{
SpringApplication.run(Application.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
Fügte auch die folgende in meinem pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
Wenn ich das Paket dem Projekt, aber ich bekam die folgende Fehlermeldung:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project cg-web: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
Las ich auf spring-boot-Anwendung, ich habe nie etwas gesehen, über das erstellen eines web.xml. Ist web.xml erforderlich bei der Bereitstellung von spring-boot-Anwendung als Krieg?
- Hast du add
spring-boot-starter-web
als Abhängigkeit? Weitere Informationen finden Sie unter: docs.Frühling.io/spring-boot/docs/current/Referenz/html/... - ja, aber sollte ich den Bereich angeben, wie diese auch?
- Nein, das sollten Sie nicht.
- Versuchen Sie, fügen Sie die folgenden:
<plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin>
nach dieser Antwort stackoverflow.com/questions/33390460/... - Es funktioniert, vielen Dank. Können Sie ändern Sie den Kommentar zu beantworten, daher kann ich das ticket zu schließen?
- Toll, ich habe die Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut diese Antwort machen Maven ignorieren die web.xml Abwesenheit indem Sie die folgenden snippet zu Ihrem pom.xml:
Haben Sie die web-Abhängigkeiten.
Können Sie immer noch Ihre web.xml wenn Sie müssen einige Konfigurationsschritte auf Sie, legen Sie einfach die Datei in den richtigen Ordner innerhalb des WEB-INF so den Frühling kann es ein Lesen der Konfigurationen. Auch die Verpackung
Prüfen, wie gut die parent-pom für die spring-boot als
Diese Konfiguration
Nur sagen, maven nicht zu tomcat Abhängigkeiten in der war-Datei, um Störungen zu vermeiden, die mit der servlet-Anbieter.
Braucht man eigentlich nicht
web.xml
- Datei zu erstellenWAR
Artefakt bereitgestellt werden.Hier ist, wie Baue ich
Spring Boot
Artefakte mit Gradle.bauen.gradle:
Um zu bauen
WAR
man laufen sollte:gradle war
mvn package
In servlet 2.5-Spezifikationen (java EE 5) , web.xml ist obligatorisch, in der servlet-Spezifikationen 3+ (java EE 6) , können Sie Sie entfernen web.xml und mit den benutzerfreundlichen Konfigurations-statt