Maven 2'de bir yapı manuel olarak nasıl kurulur?


97

Maven 2 ile bir yapıyı manuel olarak kurmaya çalıştığımda bazı hatalarla karşılaştım.

mvn install:install-file -Dfile=jta-1.0.1B.jar

Ancak Maven şöyle bir derleme hatası verdi:

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal

Komutamda bir hata mı var?


Bunun durumu nedir? Sorunuz çözüldü mü?
Matt

Yanıtlar:


148

Yapıtınız için groupId, artifactId ve sürümü belirtmeniz gerekir:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dpackaging=jar \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true

8
-Paketleme = kavanoz veya benzeri eksik
kaboom

@kaboom Hayır! Varsayılan olarak, ambalaj kavanozdur, bu nedenle bunu komutta belirtmenize gerek yoktur ...
Romain Linsolas

5
@romaintaz kaboom doğru; -Dpackaging = jar'e (veya türü ne olursa olsun) ihtiyacınız varsa, aksi takdirde "'paketleme' eksik" hatası alırsınız.
Jack Edmonds

3
Bir pom dosyası sağlamanız dışında paketleme parametresine ihtiyaç olduğu anlaşılıyor. İkinci durumda, paketin türü ponpondan alınır.
Romain Linsolas

1
PowerShell kullanıyorsanız, alıntıyı da aynı şekilde kullandığınızdan emin olun"-DgroupId=javax.transaction"
ankitjaininfo

38

Maven'in 3. parti JAR'ları kurma kılavuzuna göre komut şudur:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

Gerçekten paketleme seçeneğine ihtiyacınız var. Bu, orijinal soruyu yanıtlar.

Şimdi, kendi bağlamınızda, Sun tarafından sağlanan bir kavanozla savaşıyorsunuz. Sun JARs ile Başa Çıkma sayfasını da okumalısınız . Orada, Sun jars konumu hakkında size daha iyi bilgi vermesi için maven'e nasıl yardım edeceğinizi ve içeren Java.net Maven 2 deposunu nasıl ekleyeceğinizi öğreneceksiniz . Bunu (taşınabilir değil) veya (taşınabilir) cihazınıza ekleyin : jta-1.0.1B.jarsettings.xml pom.xml

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
    </repository>
  </repositories>

13

Ambalaj eklemem gerekiyordu, bu yüzden:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar

Bir jar dosyasını manuel olarak yüklerken birçok sorun yaşadım ve tam olarak bu şekilde yazana kadar başarısız olmaya devam etti. Şimdi çalışıyor!
gregturn


4

Windows PowerShell'i kullanırken benzer hatalar alırsanız, Windows'un basit komut satırını denemelisiniz. Buna neyin sebep olduğunu bulamadım, ancak PowerShell, Maven'in bazı parametrelerini yorumluyor gibi görünüyor.


Yukarıdaki S. Bollweber cevabına bakın. Ve en azından TakeCommand aynı bahaveti ifade ediyor.
Martin

1
Cevabıma olumsuz oy vermek için bir sebep yok - S. Bollweber benden birkaç ay sonra cevapladı.
Koraktor

2

Gönderilen tüm cevaplar, bunu tam anlamıyla derin bir bakış açısıyla haklı olarak tartışmaktadır. Sorunlarım, Netbeans'i birincil IDE'm olarak kullanarak maven için bu yüklemeyi yapmaktı. Aşağıdaki makaleyi faydalı buldum.

Aşağıdaki netbeans forumu makalesine atıfta bulunun: http://forums.netbeans.org/topic22907.html

  1. Maven projesinde "Bağımlılık ekle" iletişim kutusunu açın
  2. Birkaç groupId, artifactId ve version oluşturun ve doldurun, tamam.
  3. Bağımlılık pom.xml'ye eklenecek ve maven projesinin "Kitaplıklar" düğümünün altında görünecektir
  4. Lib düğümüne sağ tıklayın ve "yapıyı manuel olarak yükle", jar yolunu doldurun. Jar, 2. adımda girilen koordinatlarla yerel Maven deposuna yüklenmelidir)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.