Maven ตรวจสอบการอ้างอิงที่ปรับปรุงแล้วในที่เก็บ


168

มีปลั๊กอิน Maven ที่ช่วยให้คุณตรวจสอบว่ามีการอ้างอิงรุ่นใหม่กว่าในที่เก็บหรือไม่?

สมมติว่าคุณใช้การพึ่งพา X กับเวอร์ชัน 1.2 ตอนนี้ X รุ่นใหม่จะวางจำหน่ายในเวอร์ชัน 1.3 ฉันต้องการทราบโดยขึ้นอยู่กับการอ้างอิงที่ใช้ในโครงการของฉันซึ่งการอ้างอิงมีเวอร์ชันที่ใหม่กว่า


คำถามที่เกี่ยวข้อง: stackoverflow.com/questions/431332
Sergey Brunov

คำตอบ:


284

รุ่น Maven ปลั๊กอินและdisplay-dependency-updatesโมโจเป็นสิ่งที่คุณกำลังมองหา:

mvn versions:display-dependency-updates

นี่คือลักษณะของเอาต์พุต:

[INFO] ------------------------------------------------------------------------
[INFO] Building Build Helper Maven Plugin
[INFO]    task-segment: [versions:display-dependency-updates]
[INFO] ------------------------------------------------------------------------
[INFO] [versions:display-dependency-updates]
[INFO]
[INFO] The following dependency updates are available:
[INFO]   org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9
[INFO]   org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9
[INFO]   org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17 seconds
[INFO] Finished at: Fri Aug 15 10:46:03 IST 2008
[INFO] Final Memory: 10M/167M
[INFO] ------------------------------------------------------------------------

ขอบคุณปาสกาล นั่นคือสิ่งที่ฉันกำลังมองหา แม้ว่าในเวอร์ชั่น Spring 3.0.1 จะปล่อยเวอร์ชั่น 2.5.6 ที่ใหม่กว่า อาจมีข้อบกพร่องในปลั๊กอินหรือไม่
สร้างความประทับใจ

1
@ Felix ยินดีต้อนรับ เกี่ยวกับสิ่งประดิษฐ์ Spring ฉันสงสัยว่าปัญหาไม่ได้เกิดจากความจริงที่ว่า Spring ไม่ปฏิบัติตาม"กฎ" : เวอร์ชั่นควรเป็น 3.0.1-RELEASE ไม่ใช่ 3.0.1 ปล่อย กล่าวอีกอย่างคือฉันไม่แน่ใจว่าเป็นข้อบกพร่อง (ฉันหมายถึงแน่นอนฉันคาดหวังว่าปลั๊กอินจะรายงาน 3.0.1 ปล่อยใหม่กว่าด้วย แต่ฉันไม่แน่ใจว่านี่จะได้รับการยอมรับว่าเป็นข้อบกพร่อง)
Pascal Thivent

1
การตรวจสอบการอัปเดตmaven-plugin-apiยังสามารถใช้เพื่อตรวจสอบ Maven เวอร์ชันที่ใหม่กว่าได้เนื่องจากเวอร์ชันใหม่ของการพึ่งพานี้จะถูกปล่อยสำหรับการเผยแพร่ Maven ทุกครั้ง
Tunaki

เป็นเรื่องดีที่รู้ อย่างไรก็ตามมีวิธีให้รายงานนี้เมื่อเราสร้างโครงการแทนที่จะต้องพิมพ์คำสั่งนั้นอย่างชัดเจนหรือไม่
Frederic

33

หากคุณต้องการรับการแจ้งเตือนทางอีเมลเมื่อMifact Centralเวอร์ชันใหม่มีให้ในMaven Centralคุณสามารถสร้างบัญชีผู้ใช้ที่เป็นผู้ฟังและเลือกสิ่งที่คุณต้องการติดตาม
คุณสามารถค้นหาสิ่งประดิษฐ์ด้วยตนเองหรืออัปโหลด pom.xml ของคุณโดยตรง

คุณจะได้รับการแจ้งเตือนเป็นระยะ ๆ เช่นนี้ (มีให้บริการในภาษาอังกฤษและภาษาฝรั่งเศสในตอนนี้):

ฟังสิ่งประดิษฐ์ Maven


22

VersionEye Maven ปลั๊กอินจะทำเหมือนกัน: versioneye_maven_plugin

VersionEye สามารถแจ้งให้คุณทราบเกี่ยวกับเวอร์ชันใหม่ใน Maven Repositories ได้เช่นกัน มันเป็นเครื่องมือที่ไม่เชื่อเรื่องภาษาและข้างๆ Java ก็รองรับ 7 ภาษาอื่น ๆ นอกเหนือจากคุณสมบัติติดตาม / แจ้งเตือนที่เรียบง่ายแล้วยังสามารถตรวจสอบที่เก็บข้อมูล GitHub และ BitBucket โดยตรงและแจ้งให้คุณทราบเกี่ยวกับการพึ่งพาที่ล้าสมัยในโครงการของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้ยังมีREST JSON APIสำหรับการรวมเครื่องมือ

ยังไงก็ตามฉันเป็นคนที่เริ่มโครงการนี้ แจ้งให้เราทราบหากคุณมีคำถาม


1
โครงการถูกปิด :(
Alireza Fattahi

3

คุณสามารถใช้ปลั๊กอิน Maven รุ่น [1] เพื่อสร้างรายงานในไซต์ Maven ของคุณเพื่อรับรายการการปรับปรุงที่เป็นไปได้ ในเรื่องของความผิดปกติของสปริงดูเหมือนว่าจะใช้ระบบการกำหนดเวอร์ชันของเมอร์คิวรี่ [2] เมื่อกำหนดค่าปลั๊กอินรุ่นคุณสามารถเพิ่มกฎพิเศษสำหรับเนื้อหาของสปริง:

  1. http://mojo.codehaus.org/versions-maven-plugin/
  2. http://docs.codehaus.org/display/MAVEN/Mercury+Version+Ranges

2
คุณยกตัวอย่างได้ไหม
Zarathustra

1

ในโครงการที่มีจำนวนการพึ่งพาจำนวนมากบางครั้งคุณเก็บเวอร์ชันของคุณไว้ในส่วนคุณสมบัติ

    <properties>
        <assertj.version>3.15.0</assertj.version>
        <aws-sdk.version>1.11.763</aws-sdk.version>
        <cxf.version>3.3.6</cxf.version>

ในกรณีที่คุณสนใจเฉพาะการอัพเดตสำหรับเวอร์ชันเหล่านั้นคุณสามารถใช้คำสั่งต่อไปนี้

mvn versions:display-property-updates

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


คำตอบที่ไม่ถูกต้อง
ROMANIA_engineer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.