Como referenciar javadocs para dependências no plugin Eclipse do Maven quando o javadoc não está anexado à dependência
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.
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.
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.
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.
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.
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
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.
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