Tôi muốn kiểm soát thứ tự thuộc tính trong các tệp .java được trình biên dịch JAXB tạo ra.Trình biên dịch JAXB và thứ tự thuộc tính
Tôi biết rằng thứ tự thuộc tính không quan trọng đối với xác thực xml. Trình tự này quan trọng đối với việc so sánh văn bản của xml được trộn lẫn trong một môi trường thử nghiệm hồi quy. Thứ tự các thuộc tính trong một tệp ảnh hưởng trực tiếp đến thứ tự của các thuộc tính trong các thẻ xml được sắp xếp lại.
Mỗi khi trình biên dịch JAXB chạy các nhóm thuộc tính xuất hiện theo một thứ tự khác, ngay cả khi không có thay đổi đối với lược đồ. Không có tùy chọn rõ ràng có sẵn trên trình biên dịch để ngăn chặn hành vi này.
Tôi muốn tránh chạy tập lệnh sau khi biên dịch để sắp xếp thứ tự các thuộc tính trong tệp .java được tạo ra theo thứ tự bảng chữ cái vì điều này chia nhỏ các nhóm thuộc tính, nhưng tôi không chắc chắn có một tùy chọn khác.
Bất kỳ đề xuất nào được đánh giá cao.
Cảm ơn, Dave
Việc so sánh là một phần của một bash script điều khiển kiểm tra hồi quy lớn và chúng tôi hiện không phân tích bất kỳ phản hồi xml. Tôi có thể sử dụng một công cụ khác biệt XML nhưng tôi không có bất kỳ kinh nghiệm với họ. Tôi đang làm việc trong một môi trường Solaris - bạn có thể đề xuất một công cụ khác biệt xml có thể được gọi từ dòng lệnh cho mục đích này? Ngoài ra các tệp cần so sánh có thể không xác thực đối với giản đồ vì một số khác biệt đã biết được thay thế bằng các giá trị không đổi. – daveg
Ngoài ra, tôi đã xem xét sắp xếp lại các thuộc tính trong tệp .java - không phải là phản hồi xml. Tôi đoán marshaller sử dụng sự phản chiếu bởi vì thứ tự trong tập tin .java dường như điều khiển trực tiếp thứ tự thuộc tính trong các đáp ứng marshalled. – daveg
Tôi đã chỉnh sửa câu trả lời của mình để giải quyết hai điểm của bạn. –