Lỗi này rất lạ và tôi không thể hiểu được nhiều. Tôi đã cài đặt EclipseRCP 3.5.1, cập nhật Java SE 1.6 16 và chuyển sang SWT 3.5. Tôi đã tạo một dự án mới, thiết lập các phụ thuộc và cố gắng biên dịch. Khi cố gắng để nhập khẩu, sử dụng như sau:Lỗi trình biên dịch Eclipse 3.5.1: Loại OutputFormat không thể truy cập được do hạn chế đối với thư viện bắt buộc ../rt.jar
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
tôi nhận được lỗi:
Access restriction: The type XMLSerializer is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar.
Tôi đã google nó, đọc một số phản ứng here..and vấn đề là vẫn còn đó. Điều thú vị là nếu tôi sử dụng EclipseRCP trước (Phiên bản: 3.4.2), vấn đề này không bao giờ xảy ra. Phiên bản 3.4.2 sử dụng cùng một phiên bản JRE và tôi vừa thử nghiệm phiên bản SWT. Hoạt động tốt. Tôi đoán vấn đề dựa vào một số plugin của IDE mới. Bất kỳ ý tưởng?
P.S. Tôi đã tìm thấy điều này article. Nhưng tôi không thích hoặc muốn thay đổi mã nếu tôi không phải. Trước tiên, nguồn gốc của vấn đề là gì và giải pháp sẽ theo sau ..
Có, tôi biết về cài đặt nhật thực để khắc phục sự cố, nhưng cài đặt tương tự nằm trong phiên bản RCP cũ hơn và tôi không gặp sự cố. Tôi chưa bao giờ nghe nói rằng trước đây ... vậy, tại sao lại là gói com.sun. thậm chí tồn tại, nếu sử dụng của mình không được khuyến khích ?? – hypercube
Mục đích của việc nhập khẩu là đọc/ghi các tệp XML, vì nó là sự hiểu biết của tôi rằng JDK1.6 có các trình phân tích cú pháp XML được xây dựng. Bạn có gợi ý rằng nó không thể được thực hiện, vì com.sun. * Không nên được sử dụng? – hypercube
Nó được sử dụng trong nội bộ bởi các API công cộng, có thể là JAXB hoặc một cái gì đó. Nếu bạn cần trực tiếp các lớp, thay vào đó bạn nên thêm Apache Xerces-J làm thư viện và sử dụng các lớp org.apache.xml.serialize.OutputFormat và org.apache.xml.serialize.XMLSerializer thay thế. – jarnbjo