Как включить SPI «Использование» и/или «предоставляет» раздел для модуля с Javadoc?JAVA

Программисты JAVA общаются здесь
Anonymous
Как включить SPI «Использование» и/или «предоставляет» раздел для модуля с Javadoc?

Сообщение Anonymous »

Если вы посмотрите на документацию модуля из стандартной библиотеки, такую как Java.base , вы увидите, что у него есть раздел, в котором перечислены какие услуги, которые он использует и какие услуги он предоставляет. На основе стандартной документации Doclet теги @uses < /code> и @provides < /code> - это то, как генерировать раздел «Сервисы».

Код: Выделить всё

@provides service-type description


Этот тег может отображаться только в комментарии документации для объявления модуля и служит для документирования реализации услуги, предоставленной модулем. Описание можно использовать для указания того, как получить экземпляр этого поставщика услуг, и любые важные характеристики поставщика.

Код: Выделить всё

@uses service-type description


Этот тег может отображаться только в комментарии документации для объявления модуля и служит документированию, что услуга может использоваться модулем. Описание может использоваться для указания характеристик службы, которая может потребоваться, и то, что модуль сделает, если в JDK 9.

и вы можете увидеть эти теги, например, исходный код Java.base Информация о системе
  • java 24.0.1 (Temurin-24.0.1+9)
    10/11
структура проекта

Код: Выделить всё

│   javac-args.txt
│   javadoc-args.txt
│
└───src
│   module-info.java
│
└───com
└───example
DummyLoggerFinder.java
исходный код
sstrong> module-info.java

Код: Выделить всё

/**
* Demo module for documentation.
*
* @provides java.lang.System.LoggerFinder
*/
module demo {

provides java.lang.System.LoggerFinder with
com.example.DummyLoggerFinder;
}
dummyloggerfinder.java

Код: Выделить всё

package com.example;

/**
* Simple SPI implementation.
*/
public class DummyLoggerFinder extends System.LoggerFinder {

@Override
public System.Logger getLogger(String name, Module module) {
throw new UnsupportedOperationException("implementation not needed for demo");
}
}
файлы аргументов
sstrong> Javac-args.txt

Код: Выделить всё

--module-source-path demo=src
--module demo
-d out/modules
Javadoc-args.txt

Код: Выделить всё

--module-source-path demo=src
--module demo
-d out/docs
< /code>
 шаги построения < /h2>
[list]
[*]  Составьте модуль (просто чтобы убедиться, что это действительный код). < /p>
java @javac-args.txt
< /code>
< /li>
  генерировать javadoc. < /p>
javadoc @javadoc-args.txt
[/list]
output
Нет вывода из javac .
Я вижу следующий вывод от Javadoc :
:
Constructing Javadoc information...
Creating destination directory: "out/docs\"
Building index for all the packages and classes...
Standard Doclet version 24.0.1+9
Building tree for all the packages and classes...
Generating out\docs\demo\module-summary.html...
Generating out\docs\overview-tree.html...
Generating out\docs\allclasses-index.html...
Building index for all classes...
Generating out\docs\index-all.html...
Generating out\docs\search.html...
Generating out\docs\index.html...
Generating out\docs\help-doc.html...

И если я открываю/docs/index.html в браузере, я не вижу ни одного разделения «Сервисы» в Сводной оболочке модуля. src = "https://i.sstatic.net/rumoyr8km.jpg"/>


Подробнее здесь: https://stackoverflow.com/questions/797 ... ith-javado

Вернуться в «JAVA»