Để đóng gói một dự án Maven thành file WAR hoặc JAR, cần cấu hình plugin đóng gói phù hợp trong file pom.xml. Dưới đây là các bước thực hiện chi tiết.
Cấu hình file POM
Thêm thẻ <packaging> và plugin spring-boot-maven-plugin vào file pom.xml:
<?xml version="1.0" encoding="UTF-8"? >
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- Xác định định dạng đầu ra: war hoặc jar --& >
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Trong đó:
<packaging>war</packaging>: Đóng gói thành file WAR để triển khai trên Tomcat<packaging>jar</packaging>: Đóng gói thành file JAR để chạy độc lập (hoặc bỏ thẻ này vì mặc định là JAR)
Đóng gói bằng dòng lệnh
Chuyển đến thư mục gốc của dự án và thực hiện lệnh:
mvn clean package
File đầu ra sẽ nằm trong thư mục target/.
Thiết lập Run Configuration trong IntelliJ IDEA
- Mở Run → Edit Configurations...
- Nhấn + để thêm cấu hình mới, chọn Maven
- Điền các thông tin:
- Working directory: Thư mục gốc của dự án
- Command line:
clean package
- Lưu cấu hình với tên gợi nhớ (ví dụ:
build-war)
Ngoài ra, có thể tích chọn Build on make để tự động đóng gói khi biên dịch.
Chạy ứng dụng sau khi đóng gói
Với file WAR
Copy file .war vào thư mục webapps của Tomcat, sau đó khởi động server:
cp target/myapp-1.0.0.war $CATALINA_HOME/webapps/
$CATALINA_HOME/bin/startup.sh
Với file JAR
Chạy trực tiếp bằng JVM:
java -jar target/myapp-1.0.0.jar
Hoặc chỉ định profile khi khởi động:
java -jar -Dspring.profiles.active=prod target/myapp-1.0.0.jar