Как намекнуть на m2e (плагин Maven для eclipse), чтобы прикрепить внешний сайт javadoc к артефакту?
Мне нужно использовать артефакт X, который не имеет ни артефактов источника, ни javadoc. Я знаю, однако, внешний веб-сервер, на котором был опубликован javadoc для X.
В "plain" Eclipse я могу прикрепить URL-адрес Javadoc Location для jar в пути сборки, а затем Shift - F2 открывает браузер для этого URL-адреса.
Я хотел бы, чтобы m2e делал то же самое автоматически для артефакта X без изменения артефактов из Maven Central.
Пример pom.xml, показывающий это:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>foo</groupId>
<artifactId>m2e-javadoc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>ASCII</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>net.sf.jt400</groupId>
<artifactId>jt400-full</artifactId>
<version>5.0</version>
</dependency>
</dependencies>
</project>
Как мне это обозначить?
EDIT: вопрос был задан в списке рассылки m2e по адресу http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02386.html
EDIT: после некоторых экспериментов с установкой отсутствующих артефактов в локальном репозитории и отказом от проекта сделать выпуск Maven, я переупаковал последнюю версию (7.10) в Maven Central.
Ответы
Ответ 1
К сожалению, это не сработает, если создатель не создал соответствующие артефакты (-sources и -javadoc) для конкретного артефакта. Но вы должны иметь возможность вручную добавить javadoc для определенного артефакта. Я бы предложил создать отдельный пакет (artifact-javadoc) и развернуть его в диспетчере репозитория, чем он должен работать автоматически.
Ответ 2
Вы можете использовать Maven Javadoc Plugin для этот сценарий путем увеличения вашего POM:
Вы можете добавить перекрестные ссылки ссылки на внешние проекты, используя параметры. Например:
<project>
...
<reporting> (or <build>)
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<links>
<link>http://commons.apache.org/dbcp/apidocs/</link>
<link>http://commons.apache.org/fileupload/apidocs/</link>
</links>
...
</configuration>
</plugin>
</plugins>
</reporting> (or </build>)
...
</project>
Важное примечание: согласно спецификациям Javadoc, все указанные ссылки должен иметь файл fetchable/package-list.
Эта стратегия может быть дополнительно дополнена с помощью параметра <offlineLinks/>
и совокупная цель, чтобы консолидировать вашу документацию в том же дереве документации, что и вам.
Документация для плагина Maven Javadoc содержит дополнительные сценарии и примеры, включающие в себя альтернативные возможности Javadoc, если вы хотите продолжить их.