2009-07-16 28 views
8

Tôi có một tình huống mà tôi muốn thực thi javadoc trong một dự án không có lớp. Nó chỉ có package-info.java cho một gói. Khi thực hiện javadoc, các lỗi sau được đưa ra:javadoc cho package-info.java chỉ

An error has occurred in JavaDocs report generation:Exit code: 1 - javadoc: error - No public or protected classes found to document. 

Có cách nào để buộc nó để xử lý package-info.java chỉ (ngoài các giải pháp hacky rõ ràng: tạo một lớp giả, kịch bản sao chép của một package.html, v.v.)?

Tôi đang thực thi javadoc như một phần của xây dựng maven, vì vậy plugin maven-javadoc đang thực hiện lệnh javadoc thực tế.

+0

Nếu không có lớp học, tại sao bạn cần gói javadoc? –

+0

Tôi đang sử dụng một công cụ (cụ thể là enunciate) sử dụng gói doc làm phương tiện để tùy chỉnh tài liệu "giật gân" cho một trang web lớn hơn mà nó tạo ra. – StevenC

+0

Cụ thể hơn, tại sao gói tồn tại nếu nó không chứa bất cứ thứ gì? – harto

Trả lời

8

Không có cách nào để chạy JavaDoc trên một gói rỗng. Có một số thực sự cũ là bug được đăng cho điều này được đánh dấu là "Đã đóng, Sẽ không khắc phục".

Trong lỗi đó, cách khắc phục khá nhiều là một trong những hacky rõ ràng bạn đề cập đến, tạo ra một lớp trống mặc định phạm vi. Lớp học sẽ không được bao gồm trong javadoc trừ khi bạn buộc nó phải được đóng gói hoặc -private.

/** hack to generate package javadoc */ 
class PlaceHolder {} 
+1

Lưu ý rằng tệp lớp java giữ chỗ của bạn phải có ít nhất một/** */nhận xét, nếu không cách giải quyết khác sẽ không giải quyết được sự cố. – tgharold