Alguém tem alguma idéia se você pode encontrar JARs de origem nos repositórios Maven?
Alguém tem alguma idéia se você pode encontrar JARs de origem nos repositórios Maven?
Respostas:
Micro-Tip do Maven: obter fontes e Javadocs
Ao usar o Maven em um IDE, muitas vezes você encontra a necessidade de resolver o código fonte e Javadocs para as dependências da sua biblioteca. Existe uma maneira fácil de atingir esse objetivo.
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
O primeiro comando tentará baixar o código fonte de cada uma das dependências no seu arquivo pom.
O segundo comando tentará fazer o download dos Javadocs.
Maven está à mercê dos empacotadores da biblioteca aqui. Portanto, alguns deles não terão o código-fonte empacotado e muitos deles não terão Javadocs.
Caso você tenha muitas dependências, também pode ser uma boa ideia usar inclusões / exclusões para obter artefatos específicos, o comando a seguir, por exemplo, fará o download apenas das fontes da dependência com um artifactId específico:
mvn dependency:sources -DincludeArtifactIds=guava
Fonte: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
Documentação: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html
mvn dependency:resolve -Dclassifier=javadoc
IntelliJ, o IDEA percebe automaticamente os javadocs, o que é muito bom.
Configurando e executando o plug-in maven-eclipse (por exemplo, na linha de comandos mvn eclipse:eclipse
)
<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>
mvn eclipse:eclipse
se você adicionar isso ao arquivo POM?
M2_REPO
como xxxx-yy-sources.jar, no mesmo local que o jar normal. Ele vai ficar anexado como código fonte para o frasco xxxx-aa nas bibliotecas
Se um projeto cria um jar das fontes do projeto e o implanta em um repositório maven, você o encontrará :)
Apenas para sua informação, os artefatos de fontes geralmente são criados pelo maven-source-plugin . Esse plug-in pode agrupar as fontes principais ou de teste de um projeto em um arquivo jar e, conforme explicado em Configurando o plug - in de origem :
(...) O arquivo jar gerado será nomeado pelo valor das
finalName
mais "-sources" se forem as principais fontes. Caso contrário, seriafinalName
mais "-test-sources" se fossem as fontes de teste.
O texto adicional foi fornecido para descrever um artefato ("-sources" ou "-test-sources" aqui) chamado de classificador.
Para declarar uma dependência de um artefato que usa um classificador, basta adicionar o <classifier>
elemento Por exemplo:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<classifier>sources</classifier>
</dependency>
Observe que geralmente você não faz isso, a maioria dos IDEs fornece suporte para fazer download de fontes (e / ou JavaDoc) do artefato principal sem declarar explicitamente uma dependência deles.
Por fim, observe também que alguns mecanismos de pesquisa de repositório permitem pesquisar artefatos usando o classificador (pelo menos o Nexus faz com a pesquisa avançada). Veja esta pesquisa por exemplo.
O plug-in maven idea para o IntelliJ Idea permite especificar se as fontes e o documento java devem ou não ser resolvidos e baixados
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
Para baixar alguma fonte específica ou javadoc , precisamos incluir o GroupIds - é um valor separado por vírgula, como mostrado abaixo
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
Observe que o classificador não é separado por vírgula; para baixar o javadoc, precisamos executar o comando acima mais uma vez com o classificador como javadoc
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
Para baixar qualquer uso de artefato
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier
Para fontes Groovy, isso seria
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources
Para o javadoc do Groovy, você usaria
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc
Isso coloca o artefato fornecido no repositório local do Maven, ou seja, normalmente $HOME/.m2/repository
.
dependency:sources
apenas baixa as fontes das dependências do projeto, não as fontes dos plug-ins nem as fontes de dependências definidas dentro dos plug-ins.
você pode encontrar informações nesta pergunta relacionada: Obtenha os arquivos jar de origem anexados às dependências gerenciadas pelo Eclipse para Maven
se você usar o plug-in eclipse maven e, em seguida, use 'mvn eclipse: eclipse -DdownloadSources = true'
se você estiver usando o eclipse, também poderá abrir Preferências> Maven e selecionar Baixar fontes de artefatos, isso deixaria o pom.xml intacto e manteria suas fontes ou documentos java (se selecionados) apenas para desenvolvimento diretamente no local da máquina ~ / .m2
No Eclipse
pom.xml
Run As
-> Maven generate-sources
Pré-requisito:
O Maven deve ser configurado com o Eclipse.
No NetBeans 8 com um projeto orientado por Maven, basta clicar no contexto no item da lista de arquivos jar da dependência em que você está interessado. Escolha Download Sources
. Aguarde um momento e o NetBeans baixará e instalará automaticamente o código-fonte, se disponível.
Da mesma forma, você pode optar Download Javadoc
por instalar o documento localmente. Em seguida, você pode clicar em algum código no editor e optar por ver o JavaDoc.
Com base na observação do console do Maven no Eclipse (Kepler), as fontes serão baixadas automaticamente para uma dependência do Maven se você tentar abrir uma classe da referida dependência do Maven no editor para o qual você ainda não possui as fontes baixadas. Isso é útil quando você não deseja obter o código-fonte para todas as suas dependências, mas não sabe quais deseja antecipadamente (e está usando o Eclipse).
Acabei usando a abordagem de @ GabrielRamierez , mas empregarei a abordagem de @ PascalThivent daqui para frente.
Se você conhece o groupId e o aritifactId , pode gerar um URL de download como este.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
http://central.maven.org/maven2/ch/qos/logback/logback-classic/
e você terá uma página como essa, escolheu a versão que precisa, apenas divirta-se!
Eu também usei o plugin eclipse para colocar o projeto no espaço de trabalho do eclipse. Desde que eu trabalhei em um projeto diferente, vi que é possível trabalhar com o eclipse, mas sem o maven-eclipse-plugin. Isso facilita o uso em diferentes ambientes e permite o uso fácil do maven over eclipse. E isso sem alterar o arquivo pom.xml.
Então, eu recomendo a abordagem de Gabriel Ramirez.
Os repositórios Maven fornecem uma maneira simples de baixar fontes jar.
Vou explicá-lo usando uma demonstração para "spring-boot-actuator-autoconfigure".
Caso contrário, você sempre pode "git clone" o repositório do github, se estiver lá, e obter o código específico.
Conforme explicado por outros, você pode usar o comando "mvn dependency: sources" no comando get e gerar fontes para a dependência que você está usando.
Nota: Algumas dependências não terão o sources.jar, pois elas não contêm código fonte, mas um arquivo pom. por exemplo , acionador de partida de inicialização por mola . Como neste caso:
As POMs iniciais são um conjunto de descritores de dependência convenientes que você pode incluir em seu aplicativo. Você obtém um balcão único para toda a tecnologia Spring e relacionada que você precisa, sem precisar procurar o código de exemplo e copiar e colar cargas de descritores de dependência.
Referência: introdução aos iniciantes de inicialização por mola
Se você deseja encontrar o arquivo jar de origem para qualquer um dos artefatos manualmente, vá para o local do repositório maven para o artefato específico e, em Arquivos, clique em 'ver Tudo'. Você pode encontrar o arquivo jar de origem.