2015-02-17 17 views
6

Ben mvn package üzerinde bir ayırıcı klasöründeki tüm bağımlılık kütüphaneleri topluyorum:Bir maven sınama kapsamı paket aşamasından nasıl hariç tutulur? aşağıdaki gibi

<plugin> 
     <artifactId>maven-dependency-plugin</artifactId> 
     <version>${maven.copy.plugin}</version> 
     <executions> 
      <execution> 
       <id>copy-dependencies</id> 
       <phase>package</phase> 
       <goals> 
        <goal>copy-dependencies</goal> 
       </goals> 
       <configuration> 
        <outputDirectory>${project.build.directory}/lib/</outputDirectory> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

Sorun: Bu da <scope>test</scope> kütüphaneler içerir. Bu lib'leri nasıl hariç tutabilirim? test kapsamı tüm bağımlılıklarını (https://issues.apache.org/jira/browse/MDEP-85) kapsar çünkü

<plugin> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>${maven.copy.plugin}</version> 
    <executions> 
     <execution> 
      <id>copy-dependencies</id> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-dependencies</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.directory}/lib/</outputDirectory> 
       <includeScope>runtime</includeScope> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Görünüşe <excludeScope>test</excludeScope> görünmüyor

desteklenmeye:

+0

İlk soru: Bunu neden yapıyorsunuz? Böyle bir şey yapmanın niyeti nedir? EAR/WAR/oluşturma? – khmarbaise

+1

Kullanım kılavuzunu okumadınız mı? http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html#excludeScope –

+0

@khmarbaise Amacım, içine yerleştirilmiş tüm kütüphaneler olmadan, ancak ayrı bir klasörde, çalıştırılabilir bir kavanoz oluşturmaktır. yürütme dir. Projenin kendisi güncellendiğinde dosya boyutunu azaltır, ancak hiçbir bağımlılık değişmez (kavanoz projesini genellikle ağ üzerinden kopyalamak zorundadır). – membersound

cevap

14

kullanın bir includeScope sadece runtime bağımlılıkları kapsamlı içerecek şekilde.

+0

Denedim, ancak şu hatayı aldım: 'Test kapsamı hariç tutulamaz, bu her şeyi hariç tutar. -> [Yardım 1] ' – membersound

+0

Hm, Bu muhtemelen mümkün değil: http://jira.codehaus.org/browse/MDEP-85 – membersound

+0

Doğru, konuyla ilgili yorumlarda belirtilen geçici çözümü kullanabilirsiniz: özellikle yalnızca çalışma zamanı kapsamı bağımlılıkları. – manouti

İlgili konular