Как намекнуть на m2e (плагин Maven для затмения), чтобы прикрепить внешний Javadoc-сайт к артефакту? - PullRequest
11 голосов
/ 14 марта 2012

Мне нужно использовать артефакт X, в котором нет ни исходных, ни артефактов Javadoc.Однако мне известен внешний веб-сервер, на котором был опубликован javadoc для X.

В «обычном» Eclipse я могу прикрепить URL-адрес в качестве местоположения Javadoc для 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>

Какнамекаю ли я на это?


РЕДАКТИРОВАТЬ: Вопрос задан в списке рассылки m2e по адресу http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02386.html


РЕДАКТИРОВАТЬ: После некоторых экспериментов установка недостающих артефактов в локальном хранилище и предоставлениеПосле того, как проект выполнил релиз Maven, я переупаковал последнюю версию (7.10) в Maven Central.

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

Вы можете использовать Плагин Maven Javadoc для этого сценария , увеличив 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, все ссылки даны должен иметь извлекаемый файл / список пакетов.

Эту стратегию можно дополнительно дополнить, используя параметр <offlineLinks/> и совокупную цель , чтобы объединить документацию в том же дереве документации по желанию.

Документация для плагина Maven Javadoc содержит дополнительные сценарии и примеры, включающие альтернативные средства Javadoc, если вы захотите использовать их также.

2 голосов
/ 14 марта 2012

К сожалению, это не сработает, если создатель не создал соответствующие артефакты (-sources и -javadoc) для конкретного артефакта.Но вы должны иметь возможность вручную добавить Javadoc для определенного артефакта.Я бы предложил создать отдельный пакет (artifact-javadoc) и развернуть его в вашем менеджере хранилища, чем он должен работать автоматически.

...