Bạn sẽ nhanh chóng nhận ra rằng JDK8 nghiêm ngặt hơn rất nhiều (theo mặc định) khi nói đến Javadoc. ( liên kết - xem điểm đạn cuối cùng)
Nếu bạn không bao giờ tạo bất kỳ Javadoc nào thì tất nhiên bạn sẽ không gặp phải bất kỳ vấn đề nào, nhưng những thứ như quy trình phát hành Maven và có thể các bản dựng CI của bạn sẽ đột nhiên thất bại khi chúng hoạt động tốt với JDK7. Bất cứ điều gì kiểm tra giá trị thoát của công cụ Javadoc sẽ thất bại. JDK8 Javadoc có lẽ cũng dài dòng warnings
hơn so với JDK7 nhưng đó không phải là phạm vi ở đây. Chúng ta đang nói về errors
!
Câu hỏi này tồn tại để thu thập các đề xuất về những gì cần làm về nó. Đâu là cách tiếp cận lí tưởng nhất ? Những lỗi này có nên được sửa một lần và cho tất cả trong các tệp mã nguồn không? Nếu bạn có một cơ sở mã lớn thì đây có thể là rất nhiều công việc. Những lựa chọn khác tồn tại?
Bạn cũng được hoan nghênh bình luận với những câu chuyện về những gì bây giờ thất bại mà trước đây sẽ vượt qua.
Những câu chuyện kinh dị về những gì bây giờ thất bại
công cụ wsimport
wsimport
công cụ là một trình tạo mã để tạo người tiêu dùng dịch vụ web. Nó được bao gồm trong JDK. Ngay cả khi bạn sử dụng wsimport
công cụ từ JDK8, nó vẫn sẽ tạo mã nguồn không thể được biên dịch bằng trình biên dịch javadoc từ JDK8 .
@ Tác giả thẻ
Tôi đang mở các tệp mã nguồn 3-4 năm tuổi và thấy điều này:
/**
* My very best class
* @author John <john.doe@mine.com>
*/
Điều này bây giờ thất bại vì <ký tự. Nói đúng ra điều này là hợp lý, nhưng không tha thứ cho lắm.
Bảng HTML
Bảng HTML trong Javadoc của bạn? Hãy xem xét HTML hợp lệ này:
/**
*
* <table>
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
Điều này bây giờ thất bại với thông báo lỗi no summary or caption for table
. Một cách khắc phục nhanh là làm như thế này:
/**
*
* <table summary="">
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
nhưng tại sao điều này phải là một lỗi thế giới từ công cụ Javadoc đánh bại tôi ??
Những điều bây giờ thất bại vì những lý do rõ ràng hơn
- Liên kết không hợp lệ, vd
{@link notexist}
- HTML không đúng định dạng, ví dụ:
always returns <code>true<code> if ...
CẬP NHẬT
Liên kết:
Blog tuyệt vời về chủ đề của Stephen Colebourne .
-Xdoclint
ngay cả với javac
để nói với nó để kiểm tra tài liệu trong khi biên dịch chương trình