2013-05-15 36 views
9

Java projemin ikili dosyalarını bir jar (paketli bağımlılar açıklayıcısı ile) paketlemek için Maven montaj eklentisini kullanıyorum. Bu oldukça iyi çalışıyor.Maven: Bağımlılıklarıyla birlikte kaynak kodunu dağıtın

Soru: Derlenmiş sınıf dosyaları ile birlikte projemin kaynak dosyalarını nasıl ekleyebilirim? Nasıl yapılacağını bulmak için Maven belgelerine bakmaya çalıştım ama hiçbir şey bulamadım.

Teşekkürler!

Benim pom.xml şöyle görünür:

<project> 
... 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
        <finalName>${pom.artifactId}-${pom.version}</finalName> 
        <appendAssemblyId>false</appendAssemblyId> 
        <outputDirectory>${project.basedir}/bin/</outputDirectory> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

cevap

6

basit çözüm, önceden tanımlanmış tanımlayıcı src kullanmaktır veya önceden tanımlanmış tanımlayıcı project kullanmak daha iyi olabilir:

<descriptorRefs> 
    <descriptorRef>jar-with-dependencies</descriptorRef> 
    <descriptorRef>src</descriptorRef> 
    </descriptorRefs> 

veya diğer seçenek şu gibi olurdu:

+0

Teşekkürler! Kaynaklarını aynı kavanoza paketlemeyi planladığımdan beri aklımda olan bu değildi, ama bu muhtemelen tamamen yeterli veya daha iyi. – Johannes

+0

Biraz bağlı. Bunu yalnızca bir sürüm halinde yapmanız ve maven-source-plugin'i şirketinizdeki pompanızdaki serbest bırakma konfigürasyonunda kullanmanız önerilir. Bu, her SNAPSHOT dağıtımıyla birlikte kaynak paketi oluşturmak için geliştirilebilir. Gitmek istediğin yolu seçme sırası sende. – khmarbaise

3

ikili kaynakları ve kaynak kodu bir yağ kavanozu olarak dağıtmayı seçtiğiniz özel gereksinim? Normalde, ikili dosyalar ve kaynak dosyalar birlikte dağıtılır, ancak ayrı jar dosyaları olarak. Maven Central'daki birçok proje bu yaklaşımı kullanıyor ve Nexus ve Artifactory gibi depoları da bunu destekliyor. Bu seçeneği belirlerseniz, arkadaşınız maven-source-plugin'dur. documentation Gönderen: ardından

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-source-plugin</artifactId> 
    <executions> 
    <execution> 
     <id>attach-sources</id> 
     <goals> 
     <goal>jar</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

Ve mvn source:jar yürütün. configuration options için web sitesine bakın.

+0

Bahşiş için teşekkürler! Hkmarbaise tarafından işaret edilen montaj eklentisinin src tanımlayıcısının kullanılması, ek bir eklentiye ihtiyaç duymayacağından biraz daha basit görünüyor. – Johannes

İlgili konular