Tôi có một bước biên dịch sau để thao tác mã Java bytecode của các lớp được tạo ra. Tôi muốn làm cho cuộc sống trở nên không đau đớn đối với người tiêu dùng thư viện, vì vậy tôi đang tìm cách để tôi có thể làm cho quá trình này tự động và (nếu có thể) trình biên dịch bất khả tri.Cắm vào trình biên dịch Java
Annotation Processing API cung cấp nhiều tính năng mong muốn (khám phá dịch vụ tự động; được Eclipse hỗ trợ). Thật không may, điều này là nhằm mục đích phát điện mã và doesn't support manipulation of existing artefacts:
Các đầu vào ban đầu để công cụ này được coi là tạo ra bởi 0 tròn; do đó, cố gắng tạo nguồn hoặc tệp lớp tương ứng cho một trong các yếu tố đầu vào đó sẽ dẫn đến một ngoại lệ FilerException.
Mẫu trang trí được đề xuất bởi API không phải là một tùy chọn.
Tôi có thể xem cách thực hiện bước với đại lý/thiết bị đo thời gian, nhưng đây là một tùy chọn tồi tệ hơn bước xây dựng thủ công vì nó sẽ yêu cầu bất kỳ ai thậm chí cảm ứng ngoại vi bởi API để định cấu hình JVM của họ cách thức.
Có cách nào để cắm hoặc bọc compiler tool như được gọi bởi javac không? Có ai phá hủy thành công bộ xử lý chú thích để thao tác bytecode không, dù tài liệu có nói gì không?
Liên kết của bạn đã chết. –