Pobierz źródłowe słoiki z repozytorium Maven

Czy ktoś ma jakiś pomysł czy w repozytoriach Mavena można znaleźć źródłowe słoiki?

Author: MozenRath, 2010-01-13

15 answers

Maven Micro-Tip: Get sources and Javadocs

Kiedy używasz Mavena w IDE, często znajdujesz potrzebę, aby IDE rozwiązywało kod źródłowy i Javadocs Dla zależności od bibliotek. Jest łatwy sposób na osiągnięcie tego celu.

mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

Pierwsze polecenie spróbuje pobrać kod źródłowy dla każdej z Zależności w pliku pom.

Drugie polecenie spróbuje pobrać Javadoc.

Maven jest na łasce pakiet biblioteczny tutaj. Więc niektóre z nich nie będą miały spakowanego kodu źródłowego, a wiele z nich nie będzie miało Javadoc.

Jeśli masz wiele zależności, dobrym pomysłem może być użycie inkluzje/wykluczenia, aby uzyskać określone artefakty, następujące polecenie pobierze np. tylko Źródła zależności z specyficzny artefakt:

mvn dependency:sources -DincludeArtifactIds=guava

Źródło: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/

Dokumentacja: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html

 741
Author: Alain O'Dea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-09 12:09:59

Podczas uruchamiania Eclipse z linii poleceń( 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>
 84
Author: RobAu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-19 14:11:37

Jeśli projekt tworzy jar źródeł projektu i wdraża go do repozytorium maven, to Go znajdziesz:)

Dla twojej wiadomości, artefakty źródeł są zazwyczaj tworzone przez maven-source-plugin . Ta wtyczka może spakować główne lub testowe źródła projektu do archiwum jar i, jak wyjaśniono w Konfigurowanie wtyczki źródłowej :

(...) Wygenerowany plik jar zostanie nazwany przez wartość finalName plus "- sources", jeśli są głównymi źródłami. Inaczej, byłoby to finalName plus "- test-sources", jeśli są to Źródła testowe.

Dodatkowy tekst został podany w celu opisania artefaktu ("- sources" lub "-test-sources" tutaj) nazywany jest klasyfikatorem.

Aby zadeklarować zależność od artefaktu używającego klasyfikatora, wystarczy dodać element <classifier>. Na przykład:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate</artifactId>
  <version>3.2.7.ga</version>
  <classifier>sources</classifier>
</dependency>

Zauważ, że zazwyczaj tego nie robisz, większość IDE zapewnia wsparcie dla pobierania źródeł (i / lub JavaDoc) z głównego artefaktu bez wyraźnego deklarowania uzależnienie od nich.

Na koniec zauważ, że niektóre wyszukiwarki repozytoriów umożliwiają wyszukiwanie artefaktów za pomocą klasyfikatora (przynajmniej Nexus ma to miejsce przy wyszukiwaniu zaawansowanym). Zobacz to wyszukiwanie na przykład.

 33
Author: Pascal Thivent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-27 18:02:30

Aby pobrać jakieś konkretne źródło lub javadoc musimy dołączyć grupy-jej wartość oddzielona przecinkami, jak pokazano poniżej

mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources

Zauważ, że klasyfikator nie jest rozdzielany przecinkami, aby pobrać javadoc musimy uruchomić powyższe polecenie jeszcze raz z klasyfikatorem jako javadoc

mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
 18
Author: Anver Sadhat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-01 05:43:16

Maven idea plugin dla IntelliJ Idea pozwala określić, czy źródła i java doc powinny być rozwiązywane i pobierane

mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
 16
Author: dev_doctor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-20 00:51:26

Aby pobrać dowolny artefakt użyj

mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier

Dla źródeł Groovy byłoby to

mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources

Do Javadoc Groovy ' ego użyłbyś

mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc

To umieszcza dany Artefakt w lokalnym repozytorium Mavena, tzn. zazwyczaj $HOME/.m2/repository.

dependency:sources po prostu pobiera źródła zależności projektu, a nie Źródła wtyczek ani źródła zależności zdefiniowanych wewnątrz wtyczek.

 13
Author: Maddin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-31 13:38:04

Możesz znaleźć informacje w tym pytaniu: Pobierz pliki źródłowe jar dołączone do Eclipse dla zależności zarządzanych przez Mavena
jeśli używasz wtyczki eclipse maven, użyj 'mvn eclipse: eclipse-DdownloadSources=true'

 11
Author: Stefan De Boey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:31

Jeśli używasz eclipse możesz również otworzyć Preferences > Maven i wybrać Download Artifact Sources, to pozwoli pom.XML nienaruszony i przechowuj swoje źródła lub dokumenty java (jeśli są zaznaczone) tylko do rozwoju bezpośrednio w lokalizacji maszyny ~/.m2

 9
Author: Gabriel Ramirez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-19 16:12:21

W Eclipse

  1. Kliknij prawym przyciskiem myszy na pom.xml
  2. Wybierz Run As -> Maven generate-sources
    domyślnie wygeneruje źródło w .folder m2

Warunek Wstępny:

Maven powinien być skonfigurowany z Eclipse.

 6
Author: bondkn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-05 09:27:44

W eclipse-kliknij na projekt wtedy:

Tutaj wpisz opis obrazka.

 4
Author: Witold Kaczurba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-28 10:18:18

Możesz, jeśli są wgrywane. Ogólnie nazywa się je " frameworkname-version-source(s)"

 3
Author: Bozho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-13 19:09:45

Bazując na obserwowaniu konsoli Mavena w Eclipse (Kepler), źródła zostaną automatycznie pobrane Dla zależności Mavena, jeśli spróbujesz otworzyć klasę z wspomnianej zależności Mavena w edytorze, dla której nie masz jeszcze pobranych źródeł. Jest to przydatne, gdy nie chcesz pobierać źródeł dla wszystkich zależności, ale nie wiesz, które z nich chcesz wcześniej (i używasz Eclipse).

I skończyło się na @GabrielRamierez podejście , ale będzie zatrudnić podejście@PascalThivent do przodu.

 2
Author: eebbesen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:55:07

NetBeans, Context-Click

W NetBeans 8 w projekcie opartym na Mavenie wystarczy kliknąć na pozycję listy plików jar zależności, która Cię interesuje. Wybierz Download Sources. Poczekaj chwilę, a NetBeans automatycznie pobierze i zainstaluje kod źródłowy, jeśli jest dostępny.

Podobnie możesz wybrać Download Javadoc, Aby pobrać dokument lokalnie zainstalowany. Następnie możesz kliknąć jakiś kod w edytorze i wybrać, aby zobaczyć JavaDoc.

zrzut ekranu elementu menu kontekstowego "Pobierz Źródła" wybranego w projekcie NetBeans 8 napędzanym przez Mavena

 2
Author: Basil Bourque,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-22 22:25:39

Użyłem również wtyczki eclipse, aby przenieść projekt do obszaru roboczego eclipse. Ponieważ pracowałem nad innym projektem zobaczyłem, że jest to możliwe do pracy z eclipse, ale bez maven-eclipse-plugin. Ułatwia to Korzystanie z niego w różnych środowiskach i umożliwia łatwe korzystanie z Mavena nad eclipse. I to bez zmiany pom.plik xml.

Polecam podejście Gabriela Ramireza.
 1
Author: eeezyy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-25 18:14:24

Jeśli znasz groupIdi aritifactId, możesz wygenerować URL do pobrania w ten sposób.

    <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/

I dostaniesz taką stronę, wybierz wersję, której potrzebujesz, po prostu ciesz się! Tutaj wpisz opis obrazka

Tutaj wpisz opis obrazka

 1
Author: senninha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-23 08:37:51