2016-03-18 16 views
2

'a bağımlılığı dahil et Apache'nin commons-lang3'ünü kullanan dağıtımlı bir jar oluşturmaya çalışıyorum. Ancak benim Hadoop'umun yer aldığı AWS kümem, bu kütüphaneyi içermiyor, bu yüzden classNotFoundException alıyorum. Maven gölgesi eklentisi

<dependency> 
     <groupId>org.apache.pig</groupId> 
     <artifactId>pig</artifactId> 
     <version>0.12.0-cdh5.2.6</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.4</version> 
    </dependency> 
    <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.4.3</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <artifact>org.apache.commons:commons-lang3</artifact> 
           <includes> 
            <include>org/apache/commons/commons-lang3/3.4/*</include> 
           </includes> 
         <minimizeJar>true</minimizeJar> 
        </configuration> 
       </execution> 
      </executions> 

     </plugin> 

ben tamamen normal bir kavanoz istiyorum: Ben elle o bağımlılık eklemek için gerekli düşündüm ama maven gölge eklenti ile çalışan olan sorunları duyuyorum Bulunduğum pom dosya şuna benzer (bunu kullanmaktan önerildi) iç gömülü commons-lang3 kütüphanesi eklenmesi ile. Yanlış yaptığım bir şey var mı?

+0

https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html göre - İstediğin 'nızda değil kullanın ... artifact desteklenmiyor gibi görünüyor. –

cevap

1

aşağıdakileri yapmanız gereken beyaz listede bulunan kavanozları dahil etmek için:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.4.3</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <artifactSet> 
          <includes> 
           <include>org.apache.commons:commons-lang3</include> 
          </includes> 
         </artifactSet> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build>