Maven - Her zaman kaynakları ve javadokları indirin


244

Maven'i her zaman kaynakları ve javadokları indirecek şekilde yapılandırabileceğim bir yol var mı ? Her -DdownloadSources=true -DdownloadJavadocs=trueseferinde (genellikle ilk kez unuttuğum için mvn derlemesini iki kez çalıştırmakla birlikte) belirtmek oldukça sıkıcı olur.


Bu tutulma eklentisi için mi? Yine de çok sık çalıştırmak zorunda
kalmamalısınız

1
Hayır, komut satırı programı içindir. Çok sık çalıştırmak zorunda değilim, ama asla çalıştırmak zorunda kalmam harika olurdu!
schmmd

1
Komut satırı nedir? Bu mvn eclipse:eclipsedoğru mu yaptın ?
17'de sjr

14
@sjr, evet kaynakları ve javadocs indirmek için bir yürütmekmvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Yuriy Nakonechnyy

Bu soru hâlâ düşünüyorum değil cevap verdi. Kabul edilen cevap sadece Eclipse eklentisi ile ilgilidir. @ AlexisGamarra cevabı en yakın ama çözüm "kalıcılığını" çözmez - mvn install çalıştırdığınızda her zaman bunu yapmak için Maven ayarlamaz .
Honza Zidek

Yanıtlar:


265

Settings.xml dosyanızı açın ~/.m2/settings.xml (yoksa oluşturun). Özellikleri eklenmiş bir bölüm ekleyin. Ardından activeProfiles uygulamasının yeni profili içerdiğinden emin olun.

<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
Maven 2.2.1 ve 3.0.2'de bu profil özelliklerini deniyorum ve çalışmıyorlar. Hedef depo Archiva'dır. Başka ne denenebilir? Ayrıca bağımlılık kullanarak denedim: kaynaklar hedef. Teşekkürler
jmend

18
Dahası, Eclipse'de Tercihler -> Maven'e (Alt kategori yok) gidebilirsiniz. Orada, "Artefakt Kaynaklarını / JavaDocs İndir" i kontrol edebilirsiniz. Ancak, bazen Eclipse bu dosyayı manuel olarak oluşturmak istemez (Luna'da bana oldu). Bu durumda - oraya gidin, bu cevabı ayar etiketlerine yapıştırın ve Eclipse'e yeniden yüklemesini söyleyin ve çalışması gerekir.
Andrei Bârsan

9
Bu benim için çalıştı: Eclipse'de Tercihler -> Maven'e (Alt kategori yok) gidin. Kontrol - "Buluntu kaynağını indir" - "Artefakt JavaDocs indir" - "Başlangıçta Maven projelerini güncelle" (sadece manuel yolu bulamadığım için) Sonra Eclipse'i yeniden başlatın. Tamamlandı
Dirk

4
Bu sadece Maven Eclipse eklentisini etkiler.
Jingguo Yao

9
Bu gerektiğini değil kabul cevap! @JingguoYao'nun belirttiği gibi, sadece Maven Eclipse eklentisini etkiler. Asıl soru Eclipse'e değil, Maven'in kendisine bağlıydı.
Honza Zidek

195

Benim durumumda "settings.xml" çözümü işe yaramadı, bu yüzden tüm kaynakları indirmek için bu komutu kullanıyorum:

mvn dependency:sources

Diğer maven komutlarıyla da kullanabilirsiniz, örneğin:

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

Tüm belgeleri indirmek için aşağıdaki komutu kullanın:

mvn dependency:resolve -Dclassifier=javadoc

1
Bu soru hâlâ düşünüyorum değil cevap verdi. Kabul edilen cevap sadece Eclipse eklentisi ile ilgilidir. Cevabınız en yakın olanıdır, ancak çözümün "kalıcılığını" çözmez - Maven'i her zaman mvn kurulumunu çalıştırdığınızda yapacak şekilde ayarlamaz .
Honza Zidek

52

Sadece birleştirmek ve kaynak ve dokümanlar indir adres tek komut komutu hazırladı ...

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

42

Google'dan gelen insanlar için cevap

In Eclipse otomatik indirebilirsiniz javadoc ve kaynaklar .

Bunu yapmak için projeye sağ tıklayın ve

  • Maven -> JavaDoc'u İndirin
  • Maven -> Kaynakları İndir

3
Ve
IDEA'da

@ Betlista yazının ilk satırını okudu. Birçok kişi Google'dan buraya başka bir şey aramak için gider. Ama sonuçta, farklı anahtar kelimelerle bile buraya geliyor
Ghandhikus

14

Maven 3.3.3 kullanıyorum ve bir kullanıcı veya genel settings.xmldosyada çalışmak için varsayılan profili alamıyorum .

Geçici bir çözüm olarak, pom.xmldosyanıza ek bir derleme eklentisi de ekleyebilirsiniz .

<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

Açık NetBeans : -> [Explorer-> Bağımlılıklar projenizi açın file.jar ] rightclick-> İndir Javadoc


4

@ Xecaps12'nin dediği gibi, en basit / verimli yaklaşım Maven ayarları dosyanızı (~ / .m2 / settings.xml) değiştirmektir, ancak bu sizin için varsayılan bir ayarsa , bu şekilde de ayarlayabilirsiniz.

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

Bu gerçekten işe yaramıyor, sadece kullanılmayan küresel mülkleri beyan ediyorsunuz. Efsanevi çözümün şu kaynaktan geldiğine inanıyorum maven-eclipse-plugin: maven.apache.org/plugins/maven-eclipse-plugin/examples/…
inanutshellus

Hayır, bu sadece "çözüldü" cevabının basitleştirilmesi;)
Kraiss

1
"Çözülmüş" sürüm de çalışmaz. (Ben de aynı yorumu orada yaptım, ama ben size görüşürken geçici olarak kaldırdım.) Yani - cevabınızı (ve böylece çözülmüş cevabı) aslında sizin için çalışıyor mu diyorsunuz? Demek istediğim, 159 kişi bu yanlış ya da güncel olmayan cevabı yükledi, bu yüzden açıkça birisi için çalışıyor. Eğer o zaman ben bir şey yanlış yapıyorum, dediğiniz gibi Eğer çalışırsa, olarak yorumlarla çözülmesi Yanıta birkaç kişi vardır ve ediyorum aşk olduğunu öğrenmek ve bu çalışma almak.
inanutshellus

Bu küresel var aslında eclise ile geliştirirken eclipse eklentisi tarafından kontrol varsayalım. kaynak getirme eclipse tarafından yapılır, komut satırındaki maven tarafından değil.
Jonatan Cloutier

1

Bence her eklenti için yapılabilir. Maven kitabından bu bölüme bakın .

Bağımlılık eklentisini kaynakları indirmek için yapılandırabilirsiniz (kendim denememiş olsam da :-).


1

Netbeans'te Maven'e, açık olan her proje için javadoc'u kontrol etmesini söyleyebilirsiniz:

Tools| Options| Javasimge | Mavensekmesi | Dependencieskategori | Check Javadocaçılır Every Project Open.

Netbeans'i kapatıp yeniden açın ve durum çubuğunda Maven indir javadoc'ları göreceksiniz.



0

Sadece dosyayı değiştirin mvn(veya mvn.cmdpencerelerde varsa) ve ihtiyacınız olan komut satırı anahtarlarını ekleyin (diğer yanıtlarda belirtildiği gibi). Yükleme dosyalarını değiştirmek istemiyorsanız (ki ben tavsiye ederim), parametrelerle normalleri çağıran bir mymvn(veya mymvn.cmd) sarmalayıcı oluşturun mvn.


0

Kavanozları indirmek için KeyStore'u kullanmak zorunda kaldım. Sertifika ile ilgili herhangi bir sorununuz varsa bu yaklaşımı kullanabilirsiniz:

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

Anahtar Depoları nasıl oluşturacağınızı bilmek istiyorsanız, bu çok iyi bir bağlantıdır: Proxy arkasında Maven ve SSL kullanma sorunları


0

Bağımlılık düzeyindeki (pom.xml) kaynaklar için şunları ekleyebilirsiniz:

<classifier>sources</classifier>

0

Kevinarpe'in cevabını takip etmek için bu hem kaynakları hem de Javadocları yapar:

    <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>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.