Como referenciar javadocs para dependências no plugin Eclipse do Maven quando o javadoc não está anexado à dependência

StackOverflow https://stackoverflow.com/questions/44396

  •  09-06-2019
  •  | 
  •  

Pergunta

Eu uso Eclipse, Maven e Java em meu desenvolvimento.Eu uso o Maven para baixar dependências (arquivos jar e javadoc quando disponíveis) e o plug-in Eclipse do Maven para gerar os arquivos .project e .classpath para o Eclipse.Quando a dependência baixada não possui javadoc anexado, adiciono manualmente um link para o javadoc no arquivo .classpath para que eu possa ver o javadoc da dependência no Eclipse.Então, quando executo o plug-in Eclipse do Maven para regenerar o arquivo .classpath, é claro que essa alteração é eliminada.

Existe uma maneira de configurar o plug-in Eclipse do Maven para adicionar automaticamente atributos de caminho de classe para javadoc ao executar o plug-in Eclipse do Maven?

Estou interessado apenas em respostas em que o javadoc e/ou fontes não são fornecidos para a dependência no repositório maven, o que é o caso com mais frequência para mim.Usar as propriedades downloadSources e/ou downloadJavadocs não resolverá esse problema.

Foi útil?

Solução

Você pode considerar evitar esse problema completamente instalando o jar javadoc em seu repositório local manualmente usando o objetivo do arquivo de instalação e passando a opção -Dclassifier=javadoc.Depois de fazer isso, o .classpath gerado pelo mvn deve estar correto.

Se você usar um repositório remoto como proxy para central, você também poderá implantar os javadocs nesse repositório e todos os outros que usarem esse proxy também obterão os javadocs automaticamente.

Outras dicas

Do plug-in Maven Eclipse Perguntas frequentes

O exemplo a seguir mostra como fazer isso na linha de comando:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true 

ou no seu pom.xml:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>

Estou executando o STS 2.8.1, que é basicamente ferramentas Eclipse + Spring;Em um projeto maven existente, cliquei com o botão direito no projeto -> maven -> Baixar fontes e baixar JavaDocs

Como mencionado em Como baixar fontes e artefatos javadoc com o plugin Maven Eclipse de outro repositório?, você consegue fazer isso:

No Eclipse vá para Windows-> Preferências-> Maven.Verifique a caixa que diz "Download de artefato javadoc". Isso funcionou bem para mim.

Maven Preferences

Geralmente Javadocs não são usados ​​principalmente como dependência.Porque estes não são necessários na compilação nem no tempo de execução.É apenas para ajudar o desenvolvedor durante o desenvolvimento ou depuração.

Supondo que usemos o java IDE Eclipse, podemos usar os documentos java conforme referenciado.A seguir estão as abordagens pelas quais podemos associar os javadocs/sources aos respectivos jars.

1.Se for um projeto não-maven:

Baixe o jar javadocs ou arquivo compactado, o que estiver disponível, e coloque-o em algum diretório.Clique com o botão direito no projeto do aplicativo no IDE Eclipse, clique em Propriedades e escolha Caminho de construção Java e selecione a guia Bibliotecas em Caminho de construção Java.Agora expanda o jar que você deseja vincular ao java docs/source.Selecione o link de localização do Javadoc e clique no botão Editar, uma nova janela aparece onde precisamos escolher o caminho do jar do javadocs.Clique em OK e vinculamos o javadoc/source aos respectivos jars.

enter image description here

2.Se for um projeto maven

Se estivermos usando o projeto Maven, vá para os arquivos jar na dependência do Maven no projeto na visualização Project Explorer, conforme mostrado abaixo.Agora clique com o botão direito no arquivo jar ao qual deseja adicionar o Javadoc/fonte,  escolha Maven e clique no Javadoc ou Fonte que deseja vincular ao projeto.Agora o IDE baixará automaticamente o javadoc/source necessário e o vinculará ao respectivo jar no projeto.

enter image description here

Você pode verificar isso clicando com o botão direito no projeto no IDE e clicando em Java Build Path e selecionando a guia Libraries em Java Build Path e então expandindo o jar desejado, aqui quando você clicar no botão Edit você verá o caminho vinculado de o Javadoc/Source com o respectivo jar conforme mostrado abaixo na imagem.

enter image description here

3.Se for um projeto Maven e estivermos definindo o comportamento padrão:

O Eclipse fará o download aquático do javadoc/source junto com o jar principal necessário no início.Por padrão, definimos instruções para o Maven baixar o Javadoc/fontes para todos os jars vinculados no projeto.

Clique em Windows – preferências – selecione Maven e clique na caixa de seleção Baixar Artifact Javadoc conforme mostrado abaixo

enter image description here

Agora clique em aplicar e salve-o e agora, quando você criar um novo projeto Maven, por padrão, os Javadocs serão baixados e vinculados a todos os jars dependentes do projeto.
Você pode verificar clicando com o botão direito no projeto e em Propriedades e em Java Build path pode ver que os javadocs estão vinculados a todos os jars conforme mostrado abaixo.

enter image description here

Se o seu projeto for Maven, então é sempre melhor usar a 2ª abordagem porque ao usar esta abordagem o IDE e o Maven se encarregam de baixar a versão correta do Javadoc/fonte e vinculá-la ao jar relativo também.

A abordagem 3 é um pouco cara porque o javadoc/sources será baixado para todos os jars dependentes, pode ser que você não esteja interessado em javadocs/sources para todos os jars dependentes.

Ter as fontes da dependência ajudaria?Você pode dizer ao plugin Eclipse para baixá-los (e consultá-los no .classpath) com -DdownloadSources=true

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top