2014-02-02 3 views
-1

Я пытаюсь создать javadoc для программы, однако весь первый блок не включен в документацию. У меня есть два файла класса: Item.java и Proj1.java, но ни один из них не будет содержать первый блок комментариев. В Item.java, это выглядит следующим образом:Javadoc не создает автора

/************************************************************************ 
* @author Namfuak 
* @version 1.0, Spring 2014 
* Class file of an Item to use in proj1. 
* Contains the name and price 
* of the item, as well as a few helpful methods. 
************************************************************************/ 

import java.text.DecimalFormat; 

/** 
    Contains data for each Item to be tallied. Item name and price are 
    stored in private variables. 
*/ 

Что странно, что, хотя второй блок («Содержит данные ...») также выходит за рамки класса, она включена в документацию. Я попробовал переформатировать блок заголовка, чтобы не иметь дополнительных звёзд, не иметь звездных строк и быть после оператора импорта, но поведение не меняется. Я включил и не включал теги «-author» и «-version» в мой оператор командной строки без изменений. Вывод командной строки javadoc не говорит о наличии каких-либо предупреждений или ошибок.

ответ

4

Потому что это не признано компилятором javadoc.

http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#principles

В частности:

  • Первая строка содержит разделитель начала-комментарий (/ **).
  • В последней строке содержится разделитель конца комментария (* /). Обратите внимание: в отличие от разделителя начала-комментария, комментарий конца содержит только одну звездочку.

Вот почему второй бит является превращен в Javadoc.

Редактировать от комментариев: У вас не может быть двух блоков в верхней части класса; только один из них будет использоваться. Кроме того, спецификация заявляет, что комментарии перед импортом игнорируются.

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javadoc.html#documentationcomments

Размещение комментариев - Документация комментарии распознаются только при размещении непосредственно перед классом, интерфейс, конструктор, метод или объявления поля - см пример класса, пример метода, и пример поля. Комментарии к документации, помещенные в тело метода, игнорируются. Инструмент Javadoc распознает только один комментарий к документации для декларации объявления.

Общей ошибкой является размещение оператора импорта между комментарием класса и объявлением класса.Избегайте этого, поскольку инструмент Javadoc будет игнорировать комментарий к классу.

Класс должен выглядеть следующим образом:

import java.text.DecimalFormat; 
/** 
* Contains data for each Item to be tallied. Item name and price are 
* stored in private variables. 
* @author Namfuak 
* @version 1.0, Spring 2014 
*/ 
public class MyClass { 
+0

Как я уже говорил, я попробовал его с точно такой же формат, что и второй блок, без каких-либо изменений в поведении. – IllusiveBrian

+0

Но не используйте/************* просто/** –

+0

OP имеет право. Это не просто неправильный формат комментариев JavaDoc. http://stackoverflow.com/questions/19186239/javadoc-author-not-showing –

1

Добавить


@version 1.0, Spring 2014

во втором блоке комментариев.

Он должен быть в блоке комментариев
, который находится непосредственно перед запуском кода вашего класса.

Подробнее см. Здесь.

JavaDoc

Кроме того, используйте -author при вызове функции JavaDoc.

Смежные вопросы