Spring Boot의 .original 파일이란 무엇입니까?
3991 단어 자바spring-bootspring
mvn clean package
명령을 실행하면 target 디렉토리에 다음과 같이 .original
파일이 만들어집니다.이것은 뭐야, 라고 하는 것으로 조사해 보았습니다.
.original 파일은 단지 Jar 또는 War
네, 그냥 Jar 파일, War 파일입니다.
Spring Boot는 Executable Jar(War)를 만들 수 있습니다.
이 형식으로 되어 있는 것이, .original
가 아닌 분의 Jar나 War입니다.
.original
는 Executable이 아니라 단지 Jar나 War라는 것입니다.
Jar와 War를 압축 해제하고 내용을 비교하면 알 수 있지만 Executable Jar (War)는 실행에 필요한 Spring Boot 관련 클래스를 포함하거나 디렉토리 구성이 다릅니다.
자세한 내용은 공식 문서에 설명되어 있습니다.
htps : // / cs. sp 링 g. 이오/sp린 g-보오 t/두 cs/쿤 t/레후 렌세/HTML/에 쿠타 bぇ-r. HTML
Spring Boot Maven Plugin이 만든
이 파일은 Spring Boot Maven Plugin에서 만들었습니다.
이 Plugin에는 spring-boot:repackage
라는 골이 있어, 여기서 Executable Jar (War) 를 작성해, 원래 Maven 로 package 되고 있던 Jar 와 War 를 .original
라는 명칭으로 리네임하고 있습니다.
왜, mvn clean package
라고 하는 느낌으로, spring-boot:repackage
를 지정하지 않은데 작성되어 버리는가 하면, 입니다.
pom.xml (발췌)<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
는 package
단계에서 실행되므로 mvn clean package
하면 repackage
도 실행됩니다.
.original 파일을 만들지 않으려면
Executable Jar (War) 를 작성할 필요가 있으면, .original
파일은 반드시 작성되어 버립니다.
하지만 단지 Jar나 War를 작성하는 것만으로 하고 싶다면, 다음 중 하나로 Executable Jar (War)의 작성을 건너뛸 수 있습니다.
이 파일은 Spring Boot Maven Plugin에서 만들었습니다.
이 Plugin에는
spring-boot:repackage
라는 골이 있어, 여기서 Executable Jar (War) 를 작성해, 원래 Maven 로 package 되고 있던 Jar 와 War 를 .original
라는 명칭으로 리네임하고 있습니다.왜,
mvn clean package
라고 하는 느낌으로, spring-boot:repackage
를 지정하지 않은데 작성되어 버리는가 하면, 입니다.pom.xml (발췌)
<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
는 package
단계에서 실행되므로 mvn clean package
하면 repackage
도 실행됩니다..original 파일을 만들지 않으려면
Executable Jar (War) 를 작성할 필요가 있으면, .original
파일은 반드시 작성되어 버립니다.
하지만 단지 Jar나 War를 작성하는 것만으로 하고 싶다면, 다음 중 하나로 Executable Jar (War)의 작성을 건너뛸 수 있습니다.
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 파일 사용
내장 Tomcat을 사용하지 않고 War 파일을 응용 프로그램 서버에 배포하는 작업이라면 Executable War 일 필요는 없습니다.
(물론 Executable War에서도 배포가 가능합니다.)
Executable War에는 실행에 필요한 Spring Boot 클래스와 Maven에서 provided 범위로 만든 라이브러리도 포함되어 있으므로 일반 War 파일보다 파일 크기가 커지는 경향이 있습니다.
따라서 이러한 작업을 수행하는 경우 .original
파일을 배포하거나 위의 설정을 수행하여 Executable War를 만들지 않도록 하여 파일 크기를 줄일 수 있습니다. .
다만, java 커멘드로 바삭하게 실행할 수 있는 것이 Spring Boot의 장점이라고 생각합니다만.
Reference
이 문제에 관하여(Spring Boot의 .original 파일이란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/d-yosh/items/1c6cdebf35bd5d4e8450
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Spring Boot의 .original 파일이란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/d-yosh/items/1c6cdebf35bd5d4e8450텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)