วิธีการติดตั้งสิ่งประดิษฐ์ใน Maven 2 ด้วยตนเอง


97

ฉันพบข้อผิดพลาดบางอย่างเมื่อฉันพยายามติดตั้งอาร์ติแฟกต์ด้วยตนเองด้วย Maven 2 ฉันต้องการติดตั้ง jar จากไดเร็กทอรีโลคัลด้วยคำสั่ง

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

แต่ Maven ให้ข้อผิดพลาดในการสร้างซึ่งอ่านว่า:

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

มีข้อผิดพลาดกับคำสั่งของฉันหรือไม่?


สถานะของสิ่งนี้คืออะไร? คำถามของคุณได้รับการแก้ไขหรือไม่?
แมตต์

คำตอบ:


148

คุณต้องระบุ groupId, artifactId และเวอร์ชันสำหรับ Artifact ของคุณ:

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

8
-Dpackaging = jar หรือสิ่งที่คล้ายกันหายไป
kaboom

@kaboom ไม่ใช่! ตามค่าเริ่มต้นบรรจุภัณฑ์จะเป็นขวดดังนั้นคุณไม่จำเป็นต้องระบุสิ่งนี้ในคำสั่งthé ...
Romain Linsolas

5
@romaintaz kaboom ถูกต้อง; คุณต้องมี -Dpackaging = jar (หรืออะไรก็ตามที่เป็นประเภท) มิฉะนั้นคุณจะได้รับข้อผิดพลาดเกี่ยวกับ "'packaging" หายไป "
Jack Edmonds

3
ดูเหมือนว่าจำเป็นต้องใช้พารามิเตอร์บรรจุภัณฑ์ยกเว้นในกรณีที่คุณระบุไฟล์ pom ในกรณีหลังประเภทของบรรจุภัณฑ์จะถูกนำมาจาก pom
Romain Linsolas

1
หากใช้ PowerShell ให้แน่ใจว่าคุณใช้ใบเสนอราคาเช่นเดียวกัน"-DgroupId=javax.transaction"
ankitjaininfo

38

ตามคำแนะนำของ maven ในการติดตั้ง JAR ของบุคคลที่สามคำสั่งคือ:

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

คุณต้องการตัวเลือกบรรจุภัณฑ์ สิ่งนี้ตอบคำถามเดิม

ตอนนี้ในบริบทของคุณคุณกำลังต่อสู้กับขวดโหลที่ Sun จัดหาให้ คุณควรอ่านหน้าCoping with Sun JARsด้วย ที่นั่นคุณจะได้เรียนรู้วิธีการที่จะช่วยเหลือผู้เชี่ยวชาญที่จะให้ข้อมูลที่ดีขึ้นเกี่ยวกับที่ตั้งของดวงอาทิตย์ขวดและวิธีการที่จะเพิ่ม Java.net Maven 2 พื้นที่เก็บข้อมูลที่มี jta-1.0.1B.jarเพิ่มสิ่งนี้ในsettings.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

ฉันต้องเพิ่มบรรจุภัณฑ์ดังนั้น:

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

ฉันมีปัญหามากมายในการติดตั้งไฟล์ jar ด้วยตนเองและมันก็ยังคงล้มเหลวจนกว่าฉันจะพิมพ์แบบนี้ ตอนนี้ใช้งานได้แล้ว!
gregturn


4

หากคุณเคยได้รับข้อผิดพลาดที่คล้ายกันเมื่อใช้ Windows PowerShell คุณควรลองใช้บรรทัดคำสั่งง่ายๆของ Windows ฉันไม่พบสิ่งที่ทำให้เกิดสิ่งนี้ แต่ดูเหมือนว่า PowerShell จะตีความพารามิเตอร์บางอย่างของ Maven


ดูคำตอบของ S. Bollweber ด้านบน และอย่างน้อย TakeCommand ก็แสดงออกถึงบาฮาเวียร์เดียวกัน
Martin

1
ไม่มีเหตุผลที่จะลดคะแนนคำตอบของฉัน - S. Bollweber ตอบไม่กี่เดือนหลังจากตัวฉันเอง
Koraktor

2

คำตอบที่โพสต์ทั้งหมดพูดคุยเรื่องนี้อย่างถูกต้องจากมุมมองของ maven อย่างเคร่งครัด ปัญหาของฉันคือการติดตั้ง maven นี้โดยใช้ Netbeans เป็น IDE หลักของฉัน ฉันพบว่าบทความด้านล่างมีประโยชน์

ให้เครดิตกับบทความในฟอรัม netbeans ต่อไปนี้: http://forums.netbeans.org/topic22907.html

  1. ในโครงการ Maven เปิดกล่องโต้ตอบ "เพิ่มการอ้างอิง"
  2. สร้าง groupId, artifactId และ version แล้วกรอกตกลง
  3. การพึ่งพาจะถูกเพิ่มเข้าไปใน pom.xml และจะปรากฏภายใต้โหนด "Libraries" ของโครงการ maven
  4. คลิกขวาที่โหนด Lib และ "ติดตั้งสิ่งประดิษฐ์ด้วยตนเอง" เติมเส้นทางไปยังโถ ควรติดตั้ง Jar ลงใน Maven repo ในเครื่องพร้อมพิกัดที่ป้อนในขั้นตอนที่ 2)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.