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

  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011
  • Phymec

    Phymec

    18 Temmuz 2009
  • RealPapaPit

    RealPapaPit

    16 Mart 2009