В этой статье блога мы рассмотрим различные методы извлечения исполняемого JAR-файла Spring Boot. Мы предоставим примеры кода с использованием популярных инструментов сборки, таких как Maven и Gradle. К концу этой статьи вы будете хорошо понимать, как извлечь содержимое исполняемого JAR-файла Spring Boot.
Метод 1: использование инструмента командной строки Jar
Пример кода:
$ jar xf myapp.jar
Метод 2: использование API Java Archive (JAR)
Пример кода:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
public class JarExtractor {
public static void main(String[] args) throws IOException {
String jarFilePath = "myapp.jar";
String destinationDirectory = "extracted";
try (JarFile jarFile = new JarFile(jarFilePath)) {
jarFile.stream()
.filter(entry -> !entry.isDirectory())
.forEach(entry -> {
try {
Path entryPath = Path.of(destinationDirectory, entry.getName());
Files.createDirectories(entryPath.getParent());
Files.copy(jarFile.getInputStream(entry), entryPath, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException e) {
e.printStackTrace();
}
});
}
}
}
Метод 3: использование Maven
Добавьте следующую конфигурацию в файл pom.xmlвашего Maven:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>myapp</includeArtifactIds>
<outputDirectory>${project.build.directory}/extracted</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Выполните следующую команду, чтобы извлечь файл JAR:
$ mvn package
Извлеченные файлы будут расположены в каталоге target/extracted.
Метод 4: использование Gradle
Добавьте следующую конфигурацию в файл build.gradleвашего Gradle:
task extractJar(type: Copy) {
from(zipTree('myapp.jar'))
into('extracted')
}
Чтобы извлечь файл JAR, выполните следующую команду:
$ ./gradlew extractJar
Извлеченные файлы будут расположены в каталоге extracted.
В этой статье мы рассмотрели различные методы извлечения исполняемого JAR-файла Spring Boot. Мы рассмотрели извлечение вручную с помощью инструмента командной строки Jar, программное извлечение с помощью API Java Archive (JAR), извлечение с помощью Maven и извлечение с помощью Gradle. Вы можете выбрать метод, который соответствует вашим требованиям, и настроить инструмент для извлечения содержимого исполняемого JAR-файла Spring Boot.