Tôi đang sử dụng javadocs được tạo bởi tác vụ Ant javadoc
để ghi lại dịch vụ web và tôi muốn loại trừ một số nhà xây dựng khỏi đầu ra. Làm thế nào để làm điều đó?Làm cách nào để loại trừ một phương thức/phương thức khởi tạo cụ thể khỏi các kết quả của tác vụ Ant javadoc?
Trả lời
Xem Javadoc FAQ entry có liên quan.
Hiện nay không có tùy chọn Javadoc để che giấu, loại trừ hoặc ngăn chặn thành viên nào từ các tài liệu javadoc tạo .
Nó sẽ xuất hiện này là không thể trong vani Javadoc, nhưng một số cách giải quyết được cung cấp.
Thay đổi cấp độ truy cập phương pháp của phương pháp này, sau đó sử dụng việc sử dụng các thuộc tính lọc truy cập cấp các javadoc
nhiệm vụ của, private
, package
, vv Chỉ làm điều này nếu nó có ý nghĩa trong mã của bạn, tuy nhiên, ví dụ, phương pháp mà có cấp độ truy cập không phù hợp. Ví dụ:
Ví dụ: đối với các nhà xây dựng, bạn có thể giảm mức truy cập xuống package
, sau đó tạo một lớp nhà máy trong cùng một gói cung cấp quyền truy cập xây dựng bên ngoài gói. Lớp nhà máy có thể được lọc dễ dàng từ javadocs. Loại hacky, nhưng nó hoạt động.
Không có cách nào để thực hiện việc này cho các phương pháp công khai. Việc thực hành tiêu chuẩn (ngay cả trong một vài lớp JDK) là để chỉ ra rằng phương thức hoặc hàm tạo không có nghĩa là để sử dụng công cộng.
Có một plan to add an @exclude tag in the future:
@exclude - cho API để được loại trừ khỏi thế hệ bởi Javadoc. Lập trình viên sẽ đánh dấu một lớp, giao diện, hàm tạo, phương thức hoặc trường với @exclude. Sự hiện diện của thẻ sẽ khiến cho API bị loại trừ khỏi tài liệu được tạo. Thẻ văn bản sau có thể giải thích lý do loại trừ, nhưng sẽ bị Javadoc bỏ qua. (. Trước đây đề xuất như @hide, nhưng hạn "ẩn" là thích hợp hơn cho thời gian chạy chương trình năng động/ẩn khả năng) Đối với cuộc thảo luận hơn, hãy xem: Feature Request #4058216 trong phát triển Connection.
Cho ExcludeDoclet Chris Nokleberg của một thử: http://www.sixlegs.com/blog/java/exclude-javadoc-tag.html
Tôi vừa mới được thử nghiệm với nó và nó dường như làm các trick.
Không loại trừ nội dung nào đó công khai khỏi tài liệu của bạn chỉ là biến thể về "bảo mật thông qua sự tối tăm" (hay đúng hơn là "tài liệu thông qua tối nghĩa")? Nếu hàm tạo là một phần trong API của mã của bạn, nó có sẵn để sử dụng. Nếu họ tìm hiểu về nó và sử dụng nó, là lỗi của họ (kể từ khi bạn đã công khai nó ở nơi đầu tiên)?
Nếu bạn có thể thay đổi chế độ hiển thị của nhà xây dựng hoặc xóa hoàn toàn, tôi sẽ thực hiện việc đó. Nếu bạn không thể xóa nó khỏi API, hãy làm cho nó được biết đến trong Javadoc cho hàm tạo mà nó không được dùng để sử dụng thông qua dịch vụ web.Bằng cách đó, bạn đã thiết lập hợp đồng với người dùng API của mình, thông báo cho họ không sử dụng nó.
Sẽ tốt hơn nếu bạn không nên sử dụng tài liệu này thay vì không ghi lại tài liệu đó (nếu công khai). Không tài liệu cho biết thêm nguy cơ rằng nó được vô tình sử dụng, và sau đó mã khách hàng sử dụng nó phá vỡ khi bạn thay đổi việc thực hiện.
Hiện tại giải pháp đơn giản nhất là bắt đầu nhận xét javadoc với @deprecated
và sau đó vượt qua -nodeprecated
đến lệnh javadoc
. Tất nhiên, điều này có thể không được chấp nhận nếu bạn có các mục không dùng nữa mà bạn vẫn muốn đưa vào tài liệu.
Tôi đóng là sử dụng Doclava, thẻ này có thẻ @hide mà bạn có thể chỉ định trong tài liệu phương pháp.
- 1. Cách liên kết các thư viện của bên thứ ba trong tác vụ javadoc của Ant
- 2. Chạy bộ khởi tạo trừ các tác vụ cào
- 3. Làm cách nào để loại trừ một tệp cụ thể khỏi ack (ack-grep)?
- 4. Làm cách nào để loại trừ tệp nguồn java trong tác vụ doc?
- 5. Làm cách nào để loại trừ một ứng dụng cụ thể khỏi ACTION_VIEW Ý định?
- 6. Làm thế nào để Javadoc của phương thức có thể được sao chép vào Javadoc của phương thức khác?
- 7. Làm cách nào để loại trừ tệp khỏi đường dẫn tham chiếu trong Ant?
- 8. Cách nhập phương thức khởi tạo PortNumber cụ thể
- 9. Loại trừ các phương pháp cụ thể khỏi phạm vi mã từ cobertura?
- 10. Làm thế nào để loại bỏ R.java khỏi JavaDoc
- 11. Làm cách nào để loại trừ ClientAbortException khỏi SimpleMappingExceptionResolver
- 12. Làm cách nào để loại trừ bản ghi khỏi mô hình được liên kết trong CakePHP?
- 13. Làm cách nào để chuyển hướng kết quả tác vụ ant exec tới cả tệp và stdout?
- 14. Tác vụ Ant để tự động khởi động máy chủ và ứng dụng của tôi
- 15. Làm cách nào để có được javadoc của tất cả các phương thức có chú thích cụ thể, với tên phương thức và tên gói/lớp?
- 16. JAVADOC cho các phương thức riêng (BlueJ)
- 17. Làm cách nào để loại trừ một số thư mục khỏi dự án Eclipse của tôi?
- 18. Làm cách nào để loại trừ tệp khỏi coverage.py?
- 19. Apache Ant: tắt đầu ra cho một tác vụ cụ thể
- 20. Làm thế nào để hoàn tác 'loại trừ khỏi dự án' trong Visual Studio 2008
- 21. Intellij tạo javadoc cho các phương thức và lớp học
- 22. Làm cách nào để tôi có thể nhanh chóng tạo các liên kết Javadoc tới các phần tử trong Eclipse?
- 23. Làm cách nào để loại trừ sự phụ thuộc cho một phạm vi cụ thể?
- 24. Django Piston: Làm cách nào để loại trừ các trường lồng nhau khỏi các kết quả xử lý? Thậm chí có thể không?
- 25. Làm cách nào để chia sẻ dữ liệu giữa các tác vụ Ant tùy chỉnh?
- 26. Loại trừ các tệp cụ thể khỏi tìm kiếm trong Visual Studio
- 27. Trong Android, làm cách nào để tìm người gọi của một phương thức hiệu quả
- 28. Làm cách nào để loại trừ một lớp khỏi bộ chọn jQuery của tôi?
- 29. GWT: Làm thế nào để có được kết quả một trình ra khỏi FormPanel
- 30. Cách loại trừ các bảng khỏi sp_msforeachtable
Để ngăn các loại được tham số không được tài liệu kỹ lưỡng, hãy kiểm tra sửa đổi này của ExcludeDoclet https://sdgsystems.com/blog/hiding-javadoc-elements-exclude-tag – antgar9