Hướng dẫn giao diện đồ họa
Giao diện đồ họa dẫn dắt từng tác vụ bảo vệ theo dạng trình hướng dẫn. Trình tự như sau:
Loại ứng dụng → Đầu vào, môi trường chạy và nền tảng → Tùy chọn đơn giản hoặc nâng cao → Trình khởi chạy EXE Windows (không bắt buộc) → Xem lại đầu ra → Thực thi
1. Loại ứng dụng
| Mục trên giao diện | Đầu vào | Đầu ra | Lệnh tương ứng |
|---|---|---|---|
| Ứng dụng Java | JAR thực thi thông thường | Thư mục ứng dụng đầy đủ | javaapp |
| Spring Boot | Ứng dụng Spring Boot | Thư mục ứng dụng đầy đủ | springboot |
| Tomcat WAR | WAR | Thư mục có Tomcat nhúng sẵn | tomcat |
| Mã hóa thư viện | JAR bất kỳ | Một kho lưu trữ P4JX duy nhất | encode |
Chọn sai loại có thể khiến lớp chính, các phụ thuộc, tài nguyên web hoặc trình khởi chạy không được xử lý đúng.

2. Đầu vào, môi trường chạy và nền tảng mục tiêu
Mỗi lượt chạy trình hướng dẫn xử lý một tệp JAR hoặc WAR. Tiếp theo bạn chọn:
- Phiên bản Java: 8, 11, 17, 21 hoặc 25. Mặc định là 21.
- Nền tảng mục tiêu: có thể chọn nhiều nền tảng cùng lúc.
- Chế độ: đơn giản hoặc nâng cao.
- Tạo EXE ứng dụng Windows: không bắt buộc, nhưng cần ít nhất một nền tảng mục tiêu Windows.
Khi chọn nhiều nền tảng, công cụ tạo một thư mục riêng cho từng nền tảng.

3. Chế độ đơn giản
Chế độ đơn giản phù hợp với hầu hết các lần đóng gói đầu tiên. Khi bạn rời trang đầu vào, công cụ chạy một lượt quét tương thích và dựa vào kết quả để quyết định:
- những lớp nên loại trừ;
- có bật JavaFX và WebView hay không;
- có bật lớp phủ ZIP cho trình quét hay không;
- có chuyển sang hậu tố kho lưu trữ
.jarhay không; - bố trí nào dùng cho Spring Boot;
- dùng Tomcat 9 hay 10.1.
Kết quả quét là khuyến nghị rút ra từ phân tích tĩnh, không phải kết quả chạy thật. Sau khi đóng gói, hãy luôn kiểm thử ứng dụng trên nền tảng mục tiêu.
4. Chế độ nâng cao
Chế độ nâng cao cho phép tự đặt hậu tố kho lưu trữ, quyết định có tắt JIT hay không, thêm lớp phủ cho trình quét, đặt tùy chọn JVM, định nghĩa quy tắc loại trừ và cấu hình các tùy chọn riêng của từng loại ứng dụng.
Hướng dẫn đầy đủ, ý nghĩa từng tùy chọn, giá trị mặc định và khác biệt giữa các loại ứng dụng nằm ở Thiết lập chế độ nâng cao của Protector4J.

5. Trình khởi chạy EXE Windows
Nếu bạn đánh dấu Tạo EXE ứng dụng Windows (x64/x86/ARM64) ở trang đầu vào, trình hướng dẫn sẽ chèn thêm một trang trình khởi chạy sau trang tùy chọn. Ô đánh dấu này nằm trước nhánh rẽ giữa chế độ đơn giản và nâng cao, nên cả hai chế độ đều tạo được EXE. Nếu không đánh dấu, trình hướng dẫn chuyển thẳng tới trang xem lại đầu ra.
Trang trình khởi chạy cho phép nhập:
- Tên tệp EXE: để trống thì lấy tên tệp đầu vào; Tomcat dùng
tomcat. - Chế độ trình khởi chạy: console, hoặc giao diện đồ họa không hiện cửa sổ console.
- Biểu tượng Windows: tệp
.ico, không bắt buộc. - Tùy chọn khởi chạy JVM: mỗi dòng một tùy chọn. Khi bật EXE, ô nhập này chỉ xuất hiện ở đây, và nội dung bạn nhập được ghi vào cả EXE lẫn các tập lệnh khởi chạy.
- Thông tin phiên bản Windows: phiên bản tệp, phiên bản sản phẩm, tên công ty, tên sản phẩm, mô tả tệp và thông báo bản quyền.
Mã hóa thư viện chỉ xuất ra một tệp kho lưu trữ nên không có tùy chọn này. Chi tiết xem tại Tạo trình khởi chạy EXE Windows.
6. Quy tắc loại trừ
Giao diện đồ họa và dòng lệnh dùng chung một cách viết:
com.example.SecretService chỉ riêng lớp này
com.example.service.* chỉ gói này
com.example.service.** gói này và mọi gói con
Loại trừ DTO, thực thể, controller, lớp cấu hình, lớp cầu nối JNI và mọi thứ cần bổ sung bytecode lúc chạy sẽ giúp bạn chỉ bảo vệ phần lõi nghiệp vụ.
7. Xem lại đầu ra
Trang cuối hiển thị:
- tệp đầu vào và loại ứng dụng;
- phiên bản Java và nền tảng mục tiêu;
- JavaFX có được bật hay không;
- định dạng kho lưu trữ, thiết lập JIT, lớp phủ và bố trí Spring;
- phạm vi bảo vệ, quy tắc loại trừ và đường dẫn ngữ cảnh Tomcat.
Đánh dấu Tạo thư mục mới để ghi kết quả vào một thư mục con p4jx-xxxx có tên riêng biệt bên trong thư mục xuất. Không dùng được mục này khi thêm ứng dụng vào một gói Tomcat sẵn có, vì khi đó phải chỉ thẳng tới thư mục đã tồn tại.

8. Xuất và nạp tệp tác vụ
Cả trang tùy chọn nâng cao lẫn trang xác nhận cuối đều có thể xuất tệp tác vụ p4j-task.yml, có thể sửa bằng tay. Tệp này ghi lại các thiết lập đã được xác định:
- đầu vào, loại ứng dụng và thiết lập đầu ra;
- phiên bản Java cùng một hoặc nhiều nền tảng mục tiêu;
- phạm vi bảo vệ, tương thích và các tùy chọn đóng gói.
Phần chú thích trong tệp nêu cả cách gọi p4j --task-file <tệp> lẫn dòng lệnh tương đương. Email và mật khẩu tài khoản không bao giờ được ghi vào tệp tác vụ; nếu lúc chạy không cung cấp thông tin tài khoản thật, kết quả sẽ là bản dùng thử.
Mục Nạp tệp tác vụ ở phía trên cửa sổ giúp đọc lại tệp YAML, khôi phục tác vụ và nhảy thẳng tới trang xác nhận cuối. Các tệp p4j-encrypt-run.sh và .bat cũ vẫn nhập được, nhưng giao diện không còn xuất tập lệnh chạy nữa.