Nhảy đến nội dung chính

7.1. Cấu trúc Quản lý Dependency (Parent POM)

Toàn bộ dự án đi theo mô hình Maven Multi-Module, được kiểm soát chặt chẽ bởi file 


pom.xml nằm ở gốc dự án (Root Directory). Đây là nơi khai báo dependencyManagement.

Lý do của kiến trúc này:

  1. Đảm bảo toàn bộ 5 module con (signing-coresigning-web-service, v.v.) luôn đồng nhất một phiên bản thư viện.
  2. Khi muốn nâng cấp hệ thống Spring Boot, Lõi DSS hoặc Aspose, lập trình viên chỉ cần thay đổi tại <properties> của Root POM. Không cần đi sửa rải rác.

Ví dụ các Properties quan trọng:

<properties>
    <java.version>17</java.version>
    <dss.version>6.0</dss.version> <!-- Phiên bản cốt lõi Digital Signature Services EU -->
</properties>

Đặc biệt, hệ thống sử dụng dss-pades-pdfbox (bản 6.0.1.d4j.1) kết hợp với các Custom Handler tự phát triển trong thư mục eu.europa.esig.dss ở module lõi.

Tuyệt đối không khai báo <version> thủ công vào các dependency bên dưới các module con (ví dụ ở signing-web-service/pom.xml). Mọi version phải tham chiếu từ thẻ <dependencyManagement> của Parent POM.