Maven - sempre faça o download de fontes e javadocs


244

Existe uma maneira de configurar o maven para sempre baixar fontes e javadocs? Especificar -DdownloadSources=true -DdownloadJavadocs=truetodas as vezes (que geralmente acompanha a execução do compilador mvn duas vezes porque eu esqueci a primeira vez) se torna um pouco tedioso.


Isso é para o plugin eclipse? Você não deve ter para executar que, muitas vezes de qualquer maneira ...
SJR

1
Não, é para o programa de linha de comando. Eu não preciso executá-lo com muita frequência, mas seria ótimo se eu tivesse que executá-lo nunca!
schmmd

1
Qual é a linha de comando? É quando você faz mvn eclipse:eclipsecerto?
SJR

14
@sjr, sim, a fim de fontes de download e javadocs pode-se executarmvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Yuriy Nakonechnyy

Eu acho que essa pergunta ainda não foi respondida. A resposta aceita está relacionada apenas ao plug-in do Eclipse. A resposta de @ AlexisGamarra é a mais próxima, mas não resolve a "persistência" da solução - ele não define o Maven para fazê-lo sempre que você executa o mvn install .
Honza Zidek

Respostas:


265

Abra o arquivo settings.xml ~/.m2/settings.xml (crie-o se não existir). Adicione uma seção com as propriedades adicionadas. Em seguida, verifique se o activeProfiles inclui o novo perfil.

<settings>

   <!-- ... other settings here ... -->

    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>downloadSources</activeProfile>
    </activeProfiles>
</settings>

6
Estou tentando essas propriedades de perfil no Maven 2.2.1 e 3.0.2 e elas não funcionam. O repositório de destino é o Archiva. Alguma sugestão sobre o que mais pode ser tentado? Eu também tentei usar dependência: meta de fontes. Obrigado
jmend 03/09/12

18
Além disso, no Eclipse, você pode simplesmente ir para Preferências -> Maven (sem subcategoria). Lá, você pode verificar "Fazer download de fontes de artefato / JavaDocs". No entanto, às vezes o Eclipse não deseja criar esse arquivo manualmente (aconteceu comigo no Luna). Nesse caso - vá lá, cole esta resposta dentro das tags de configurações e diga ao Eclipse para recarregá-la, e ela deve funcionar.
Andrei Bârsan

9
Isso funcionou para mim: no Eclipse, vá para Preferências -> Maven (sem subcategoria). Marque - "Fazer o download do artefato de origem" - "Fazer o download do artefato JavaDocs" - "Atualizar projetos do Maven na inicialização" (apenas porque não consigo encontrar o caminho manual) Em seguida, reinicie o Eclipse. Feito
Dirk

4
Isso afeta apenas o plug-in do Maven Eclipse.
Jingguo Yao 14/01

9
Esta não deve ser a resposta aceita! Como o @JingguoYao afirmou, isso afeta apenas o plug-in do Maven Eclipse. A questão original não estava ligada ao Eclipse, mas ao próprio Maven.
Honra Zidek

195

No meu caso, a solução "settings.xml" não funcionou, então eu uso este comando para baixar todas as fontes:

mvn dependency:sources

Você também pode usá-lo com outros comandos maven, por exemplo:

mvn clean install dependency:sources -Dmaven.test.skip=true

Para baixar toda a documentação, use o seguinte comando:

mvn dependency:resolve -Dclassifier=javadoc

1
Eu acho que essa pergunta ainda não foi respondida. A resposta aceita está relacionada apenas ao plug-in do Eclipse. Sua resposta é a mais próxima, mas não resolve a "persistência" da solução - ela não define o Maven para fazê-lo sempre que você executa o mvn install .
Honza Zidek

52

Apenas consolidando e preparando o único comando para abordar o download de fontes e documentos ...

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

42

Resposta para pessoas do Google

No Eclipse, você pode baixar automaticamente o javadoc e as fontes .

Para fazer isso, clique com o botão direito do mouse no projeto e use

  • Maven -> Faça o download do JavaDoc
  • Maven -> Fontes de Download

3
E em IDEA você pode clique direito no módulo e no menu Maven, há uma opção para fontes e / ou documentação de download
forresthopkinsa

@Betlista leu a primeira linha do post. Muitas pessoas vão do google até aqui procurando outra coisa. Mas acabamos entrando aqui, mesmo com palavras
Ghandhikus 28/12/18

14

Estou usando o Maven 3.3.3 e não consigo fazer com que o perfil padrão funcione em um usuário ou settings.xmlarquivo global .

Como solução alternativa, você também pode adicionar um plug-in de compilação adicional ao seu pom.xmlarquivo.

<properties>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
<build>
    <plugins>
        <!-- Download Java source JARs. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>${maven-dependency-plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

7

No NetBeans : abra o explorador de projetos-> Dependências -> [ file.jar ] clique com o botão direito- > Faça o download do Javadoc


4

Como @ xecaps12 disse, a abordagem mais simples / eficiente é alterar o arquivo de configurações do Maven (~ / .m2 / settings.xml), mas se for uma configuração padrão para você, você também pode configurá-lo assim

<profile>
  <id>downloadSources</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
      <downloadSources>true</downloadSources>
      <downloadJavadocs>true</downloadJavadocs>
  </properties>
</profile>

Na verdade, isso não funciona, você está apenas declarando propriedades globais não utilizadas. Eu acredito que a solução mítico veio da maven-eclipse-plugin: maven.apache.org/plugins/maven-eclipse-plugin/examples/...
inanutshellus

Não, é apenas uma simplificação da resposta "resolvida";)
Kraiss

1
A versão "resolvida" também não funciona. (Fiz o mesmo comentário também, mas o removi temporariamente enquanto converso com você.) Então - você está dizendo que a sua resposta (e, portanto, a resposta resolvida) realmente funciona para você? Quero dizer, 159 pessoas enviaram a resposta errada ou desatualizada, tão claramente que funciona para alguém. Se ele funciona como você diz, então eu estou fazendo algo errado, assim como as várias pessoas sobre a resposta resolvido em seus comentários e eu amo a aprender que e obter esse trabalho.
inanutshellus 8/09/16

Suponho que essas var globais sejam verificadas pelo plugin eclipse quando você estiver realmente desenvolvendo com o eclise. a busca de origem é feita pelo eclipse e não pelo maven na linha de comando.
Jonatan Cloutier 29/11

1

Eu acho que isso pode ser feito por plugin. Veja este capítulo do livro Maven.

Você pode configurar o plug-in de dependência para baixar fontes (mesmo que eu não tenha tentado :-).


1

No Netbeans, você pode instruir o Maven a verificar o javadoc em todos os projetos abertos:

Tools| Options| Javaícone | Mavenguia | Dependenciescategoria | Check Javadocsuspenso definido como Every Project Open.

Feche e reabra o Netbeans e você verá o Maven fazendo o download de javadocs na barra de status.



0

Simplesmente modifique o arquivo mvn(ou mvn.cmdse estiver no Windows) e adicione as opções de linha de comando necessárias (conforme mencionado por outras respostas). Se você não deseja modificar os arquivos de instalação (o que eu recomendaria), crie um mymvn(ou mymvn.cmd) wrapper que chame o regular mvncom os parâmetros.


0

Eu tive que usar o KeyStore para baixar os frascos. Se você tiver algum problema relacionado ao certificado, poderá usar esta abordagem:

mvn clean install dependency:sources -Dmaven.test.skip=true -Djavax.net.ssl.trustStore="Path_To_Your_KeyStore"

Se você deseja saber como criar KeyStores, este é um link muito bom: Problemas ao usar Maven e SSL por trás do proxy


0

Para as fontes no nível de dependência (pom.xml), você pode adicionar:

<classifier>sources</classifier>

0

Para acompanhar a resposta do kevinarpe, isso faz com que as fontes e os Javadocs:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>sources</goal>
                            <goal>resolve</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier>javadoc</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.