Lorsque vous créez un projet Spring Boot et exécutez la commande mvn clean package
, le fichier .original
est créé dans le répertoire cible comme indiqué ci-dessous.
J'ai essayé de découvrir ce que c'était.
.original
est juste Jar ou WarOui, c'est juste un fichier Jar, un fichier War.
Spring Boot peut créer un Executive Jar (War). Ce format est pour Jar et War qui ne sont pas «.original».
«.original» n'est pas exécutif, c'est juste Jar ou War.
Comme vous pouvez le voir en décompressant Jar et War et en comparant le contenu, Executable Jar (War) contient les classes liées à Spring Boot requises pour l'exécution, et la structure des répertoires est différente.
Les détails sont expliqués dans la documentation officielle. https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html
Ce fichier est créé par le plugin Spring Boot Maven.
Ce plugin a pour objectif spring-boot: repackage
, où nous créons un Executive Jar (War) et renommons le Jar and War qui étaient initialement emballés dans Maven en le nom .original
.
La raison pour laquelle il est créé même si spring-boot: repackage
n'est pas spécifié comme mvn clean package
est que les paramètres suivants sont définis dans pom.xml de spring-boot-starter-parent. Est en train d'être fait.
pom.xml(Extrait)
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
</plugin>
repackage
est exécuté dans la phase package
, donc si vous faites mvn clean package
, repackage
sera également exécuté.
.original
Si vous avez besoin de créer un fichier exécutable (War), le fichier .original
sera toujours créé.
Cependant, si vous souhaitez simplement créer un Jar ou War, vous pouvez ignorer la création d'un Executable Jar (War) avec l'un des éléments suivants:
mvn clean package -Dspring-boot.repackage.skip=true
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
.original
Si l'opération consiste à déployer le fichier War sur le serveur d'applications sans utiliser le Tomcat intégré, il n'est pas nécessaire qu'il s'agisse d'un exécutable War. (Bien sûr, il peut également être déployé dans Executable War.)
Executable War a également tendance à être plus volumineux que les fichiers War classiques, car il contient également les classes Spring Boot nécessaires à son exécution et les bibliothèques étendues fournies par Maven.
Par conséquent, si vous effectuez ce type d'opération, vous pouvez réduire la taille du fichier en déployant le fichier .original
ou en définissant les paramètres ci-dessus afin que l'Executable War ne soit pas créé. Je vais.
Cependant, je pense que la bonne chose à propos de Spring Boot est qu'il peut être exécuté rapidement avec la commande java.
Recommended Posts