Đóng gói ứng dụng Maven thành WAR/JAR trong IntelliJ IDEA

Để đó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

  1. Mở RunEdit Configurations...
  2. Nhấn + để thêm cấu hình mới, chọn Maven
  3. Điền các thông tin:
    • Working directory: Thư mục gốc của dự án
    • Command line: clean package
  4. 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

Thẻ: Maven IntelliJ IDEA Spring Boot WAR JAR

Đăng vào ngày 19 tháng 8 lúc 06:23