SORU
26 AĞUSTOS 2009, ÇARŞAMBA


Jar-ile-bağımlılıklar bir maven yeniden adlandırmak mümkün mü?

Şu anda jar-ile-bağımlılıklar Kurul, böyle bir kavanoz oluşturmak için kullanıyorum. Ancak, benim kavanoz adı biraz uzun.

Bu jar RPG tarafından kullanılıyor beri AS400, ben bir program bu hayat biraz bu geliştiriciler için daha kolay hale getirmek için kısaltmak istiyorum. Ama, elle dışında, project-name-version-classifier-jar-with-dependencies.jar Her kavanozu yeniden adlandırmak için bir yol buldum. project-name-version-classifier-full.jar gibi bir şey istiyorum

Yine de onu temelde jar-ile-bağımlılıkları derleme tanımlayıcı ve arama kopyalamadan bu tam var mı?

Ayrıca, sınıf deposunda saklı monte etmeden kavanozu devam etmek istiyorum.

İki eser ihtiyacım var. Benim sınıflandırıcı kurmak için hangi bölgeyi tutan kavanozu. Ayrıca bölge içeren tüm bağımlılıkları ile kavanoz.

project-name-version-region-full.jar project-name-version-region.jar depo içinde muhafaza edilmelidir. 2'de sınıflandırıcı bölge-dolu ilk örnekte, bölge. İkincisi çalışıyor.

CEVAP
26 AĞUSTOS 2009, ÇARŞAMBA


BelirtebilirsinizfinalNameözellik kavanoz istediğiniz ismi verin, ve bunu belirtmek içinappendAssemblyİdönlemek için false "jar-ile-bağımlılıklar" soneki.

Yapılandırma altında bir kavanoz adı çıktı". test.jar

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2-beta-4</version>
  <executions>
    <execution>
      <id>jar-with-dependencies</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <finalName>test</finalName>
        <appendAssemblyId>false</appendAssemblyId>
      </configuration>
    </execution>
  </executions>
</plugin>

< / ^ hr .

Güncelleme: yorumlarınızı dayalı, yerleşik tanımlayıcı kullanarak çalışmaz . Sanırım bu bir hata son sürüm Meclisi-plugin - kaldırılmış desteği için sınıflandırıcılar, ama kimliği sabit bir dahili tanımlayıcı, sonuna kadar büyük bir aptal bir isim.

Geçici bir çözüm olarak, Kurul tanımlayıcısı jar-with-dependencies tanımlayıcı tarafından kullanılan kopyalama ve kimlik değiştirebilirsiniz.

Bu örnek, bir derleme kimliği eğer bir adı olması gerekiyorsa öyle finalName eklenmiş, neden olurregion-full.jarbu finalName olarak belirtebilirsinizbölgeve derleme numarası gibitam. Bu region-full.jar ama hala bağlı bir obje olarak Maven deposuna yüklü olacak not adlı bir hedef dosya neden olurtamsınıflandırıcı olarak kullanılır. Bu kimliği başka bir derleme için farklı olduğu sürece çarpışma bulunuyor olmalı.

Pom yapılandırma bu gibi görünecektir.

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2-beta-4</version>
  <executions>
    <execution>
      <id>jar-with-dependencies</id>
      <phase>prepare-package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <descriptors>
          <descriptor>src/main/assembly/jar-assembly.xml</descriptor>
        </descriptors>
        <finalName>region</finalName>
      </configuration>
    </execution>
  </executions>
</plugin>

ve src/main/derleme jar-assembly.xml bu gibi:

<assembly>
  <id>full</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>true</unpack>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>${project.build.outputDirectory}</directory>
    </fileSet>
  </fileSets>
</assembly>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Awesomesauce Network

    Awesomesauce

    4 EKİM 2012
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008