Tôi có bộ xử lý chú thích sẽ tạo ra một liệt kê với các khóa được xác định bằng phương thức getter của giao diện.Không thể tải tài nguyên trong Bộ xử lý chú thích (Không phải trên đường dẫn lớp)
Giao diện nằm trong
MyProject/src/main/java/my.package.MyInterfaces.java.
Tôi muốn xác thực tệp thuộc tính cư trú trong MyProject/src/main/resources/META-INF/resource-bundle/
nếu chúng chứa các khóa được xác định trong enum được tạo.
Vấn đề của tôi là các tệp thuộc tính không có sẵn thông qua trình nạp lớp của bộ xử lý hoặc thông qua Filer.getResource (...).
Làm cách nào để tạo nguồn hoặc đường dẫn lớp của dự án này cho bộ xử lý để tôi có thể tải các tệp thuộc tính?
Bây giờ tôi chỉ có các tài nguyên trong bình chứa bộ xử lý có sẵn. Tôi đã cố gắng xác định -classpath và/hoặc -sourcepath thông qua eclipse Project/Properties/Java compiler/tùy chọn xử lý chú giải/tùy chọn bộ xử lý nhưng nó không hoạt động.
Có ai phải đối mặt với vấn đề như thế này không và ai có thể cho tôi biết cách tôi có thể cung cấp tài nguyên cho bộ xử lý không?
Tôi có cấu trúc maven nhưng không sử dụng maven do phụ thuộc cũ trong ứng dụng. Vì vậy, maven bây giờ không phải là một lựa chọn cho tôi.
Eclipse 3.6 Helios Có vẻ rằng
StandardLocation.SOURCE_PATH
vàStandardLocation.CLASS_PATH
không được thực hiện trong Filer # getResource(), vì vậy văn bản nguồn hoặc lớp tập tin được tạo đểSOURCE_PATH
hoặcCLASS_PATH
dường như không thực hiện được, cũng truy cập vào bất kỳ tập tin trênSOURCE_PATH
vàCLASS_PATH
*
Cảm ơn.
Có, có vẻ như nó không được triển khai. Bất cứ ai một workaround? – Arne
Bạn đã từng giải quyết vấn đề này chưa? Tôi có một vấn đề tương tự: http://stackoverflow.com/questions/29658252/how-to-obtain-the-right-javafilemanager-in-a-java-annotation-processor – jurgenv
Quan trọng hơn vị trí nguồn là vị trí trong thư mục đầu ra của bạn. Bạn có kiểm tra xem tệp đó cũng nằm trong đầu ra/META-INF/resource-bundle không? Làm thế nào để bạn xây dựng? Thư mục đầu ra của bạn là gì và đường dẫn nào bạn chỉ định khi tải gói? –