Tôi đang làm việc trên một dự án mà chúng tôi đang thực hiện rất nhiều chuyển đối tượng từ xa giữa dịch vụ Java và các ứng dụng khách được viết bằng các ngôn ngữ khác nhau. Với các ràng buộc hiện tại của chúng tôi, tôi đã quyết định xem nó sẽ làm gì để tạo ra mã dựa trên một lớp Java hiện có. Về cơ bản tôi cần lấy một tập tin .class
(hoặc một bộ sưu tập của chúng) phân tích cú pháp bytecode để xác định tất cả các thành viên dữ liệu và có lẽ getters/setters và sau đó viết một cái gì đó có thể xuất mã bằng một ngôn ngữ khác để tạo ra một lớp với cùng cấu trúc .Kiểm tra theo lập trình các tệp .class
Tôi không tìm kiếm các trình giải mã chuẩn như JAD. Tôi cần để có thể lấy một tập tin .class
và tạo ra một mô hình đối tượng của các thành viên và phương thức dữ liệu của nó. cái này nó có hoàn toàn có thể xảy ra được không?
+1 cho ASM trên BCEL. API đẹp hơn nhiều. – skaffman
Thực ra, ASM cung cấp mô hình đối tượng nếu bạn muốn. Xem API cây của họ. –
Sau khi đánh giá tất cả các tùy chọn được liệt kê ở đây cho đến nay, ASM chắc chắn là IMHO đẹp nhất để kiểm tra các tệp .class. Tôi đồng ý rằng mô hình khách truy cập sạch hơn nhiều so với mô hình BCEL. Cảm ơn vì tiền hỗ trợ. –