SORU
7 Ocak 2010, PERŞEMBE


Bina bir Maven 2 kavanoz ile çalıştırılabilir

Maven mantra için oldukça yeni değilim, ama Maven komut satırı çalıştırılabilir bir jar oluşturmak için çalışıyorum. Benim bağımlılıkları kurdum, ama ben mvn install çalıştırın ve kavanoz çalıştırmak için, iki şey. İlk önce, ana sınıfı düzeltilebilir vardır. Bu düzelttim, ben hataları sınıfları bulunamadığını belirten olsun.

Maven kavanozun içine bağımlılık benim kütüphaneleri ambalaj değil, tek başına bir uygulama olarak çalıştırmak için jar kuramıyorum. Bunu nasıl düzeltirim?

CEVAP
7 Ocak 2010, PERŞEMBE


Bunu yapmanın en kolay yolu bir derleme maven-assembly-plugin kullanma ve jar-with-dependencies önceden tanımlanmış tanımlayıcı oluşturmak olacaktır. Ayrıca bu uber kavanoz için ana sınıfı ile açık bir giriş oluşturmak gerekir. Parçacık aşağıda derleme eklentisi bunu yapmak için yapılandırmak için nasıl gösterir:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
          <manifest>
            <mainClass>fully.qualified.MainClass</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

Daha sonra Meclis, sadece çalıştırmak oluşturmak için:

mvn assembly:assembly

Eğer sadece inşa bağlama paketi aşaması için assembly:single mojo senin bir parçası olarak derleme oluşturmak istiyorsanız:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
          <manifest>
            <mainClass>fully.qualified.MainClass</mainClass>
          </manifest>
        </archive>
      </configuration>
      <executions>
        <execution>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Ve sadece çalıştırın:

mvn package

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boburnham

    boburnham

    11 Temmuz 2006
  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • Deany Boii

    Deany Boii

    27 Kasım 2007