ไม่สามารถปรับใช้ zip กับ Nexus ได้

ฉันกำลังพยายามตรวจสอบไฟล์ zip (สร้างโดยกระบวนการภายนอก) ใน Nexus โดยใช้ mvnปรับใช้:deploy-file

เมื่อฉันเรียกใช้จากบรรทัดคำสั่ง (Win) ทุกอย่างทำงานได้และฉันเห็น pom และ zip ใน repo สแน็ปช็อตของฉัน อย่างไรก็ตาม ถ้าฉันใช้งาน maven ใน Jenkins เพื่อทำสิ่งเดียวกัน ฉันได้รับข้อผิดพลาดต่อไปนี้:

[ข้อผิดพลาด] [ข้อผิดพลาด] พบปัญหาบางอย่างขณะประมวลผล POM: [ข้อผิดพลาด] บรรจุภัณฑ์ที่ไม่รู้จัก: zip @ บรรทัด 6 คอลัมน์ 13

ปอมดูเหมือน:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.app</groupId>
<artifactId>testApp</artifactId>
<version>1.0.0.0-SNAPSHOT</version>
<packaging>zip</packaging>
</project>

คำสั่ง mvn คือ:

mvn deploy:deploy-file -DpomFile=d:\testApp.pom -Dfile=d:\testapp.zip
-DrepositoryId=snapshots 
-Durl=http://localhost:8081/nexus/content/repositories/snapshots

หากฉันใช้บรรจุภัณฑ์ที่ไม่ถูกต้อง ทำไมมันถึงใช้ได้ผลกับบรรจุภัณฑ์หนึ่งและอีกบรรจุภัณฑ์ใช้ไม่ได้?


person dazednconfused    schedule 07.12.2016    source แหล่งที่มา
comment
คุณใช้ Windows Slave เหมือนกันเหรอ?   -  person Dvir669    schedule 07.12.2016
comment
การสร้างแพ็คเกจ pom และใช้ build-helper-maven-plugin และแนบไฟล์ zip เข้ากับโปรเจ็กต์ระหว่างการรัน...   -  person khmarbaise    schedule 07.12.2016
comment
ไม่มีทาส ทุกอย่างทำงานอยู่ในกล่องเดียว จะดูปลั๊กอินอื่น แต่ฉันไม่เข้าใจว่าทำไมมันถึงทำงานนอก Jenkins ได้ แน่นอนว่าสิ่งที่เจนกินส์ทำคือการมีเป้าหมายเดียวกัน ฯลฯ   -  person dazednconfused    schedule 08.12.2016


คำตอบ (1)


หน้านี้อธิบายแท็ก ‹packaging>: http://maven.apache.org/pom.html#Maven_Coordinates

มันพูดและฉันพูดว่า:

ค่าบรรจุภัณฑ์หลักในปัจจุบันคือ: pom, jar, maven-plugin, ejb, war, ear, rar, par

ปลั๊กอินเพิ่มเติมสามารถเพิ่มประเภทบรรจุภัณฑ์เพิ่มเติมได้เมื่อปรับเปลี่ยนวงจรการใช้งาน

ข้อมูลนี้ใช้กับแท็กในปอม

วิธีแก้ปัญหาที่เป็นไปได้: หากคุณใส่เครื่องหมายความคิดเห็นหรือลบ ‹packaging>zip‹/packaging> จะหยุดการทำงานล้มเหลวพร้อมกับข้อความแสดงข้อผิดพลาด

ซึ่งหมายความว่าเมื่อคุณสามารถใช้คำสั่งกับตัวเลือก -D อีกหนึ่งตัวเลือกได้

mvn deploy:deploy-file ... -Dfile=somefile.zip -Dpackaging=zip

เพื่อเผยแพร่ไฟล์ไปยังพื้นที่เก็บข้อมูล Maven เช่น Nexus หรือ Artifactory Maven จะไม่บ่นเพราะมันเพียงตรวจสอบความถูกต้องของแท็กเท่านั้น

อย่างไรก็ตาม หากคุณกำลังทำอะไรอย่างอื่นกับ Maven และจำเป็นต้องตั้งค่าประเภทบรรจุภัณฑ์ คุณจะต้องค้นหาวิธีแก้ปัญหาอื่น

person Lee Meador    schedule 26.09.2018