ใครบ้างมีความคิดใด ๆ ถ้าคุณสามารถหาแหล่ง JARs บนที่เก็บ Maven?
ใครบ้างมีความคิดใด ๆ ถ้าคุณสามารถหาแหล่ง JARs บนที่เก็บ Maven?
คำตอบ:
Maven Micro-Tip: รับแหล่งที่มาและ Javadocs
เมื่อคุณใช้ Maven ใน IDE คุณมักจะพบความต้องการ IDE ของคุณในการแก้ไขซอร์สโค้ดและ Javadocs สำหรับการพึ่งพาไลบรารีของคุณ มีวิธีง่ายๆในการบรรลุเป้าหมายนั้น
mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc
คำสั่งแรกจะพยายามดาวน์โหลดซอร์สโค้ดสำหรับการอ้างอิงแต่ละรายการในไฟล์ pom ของคุณ
คำสั่งที่สองจะพยายามดาวน์โหลด Javadocs
Maven อยู่ในความเมตตาของผู้จัดทำห้องสมุดที่นี่ ดังนั้นบางส่วนจะไม่มีซอร์สโค้ดที่บรรจุและส่วนใหญ่จะไม่มี Javadocs
ในกรณีที่คุณมีการพึ่งพาจำนวนมากมันอาจเป็นความคิดที่ดีที่จะใช้การรวม / การยกเว้นเพื่อรับสิ่งประดิษฐ์เฉพาะคำสั่งต่อไปนี้จะดาวน์โหลดเฉพาะแหล่งที่มาสำหรับการพึ่งพาด้วย artifactId ที่เฉพาะเจาะจง:
mvn dependency:sources -DincludeArtifactIds=guava
ที่มา: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-javadocs/
เอกสารประกอบ: https://maven.apache.org/plugins/maven-dependency-plugin/sources-mojo.html
mvn dependency:resolve -Dclassifier=javadoc
IntelliJ IDEA สังเกต javadocs โดยอัตโนมัติซึ่งดีมาก
การกำหนดค่าและเรียกใช้ปลั๊กอิน maven-eclipse (ตัวอย่างจากบรรทัดคำสั่งmvn eclipse:eclipse
)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
mvn eclipse:eclipse
ถ้าคุณเพิ่มสิ่งนี้ลงในไฟล์ POM
M2_REPO
xxxx-yy-sources.jar ของคุณในตำแหน่งเดียวกับ jar ปกติ มันจะถูกแนบมาเป็นซอร์สโค้ดสำหรับ jar xxxx-yy ในไลบรารี
หากโปรเจ็กต์สร้าง jar ของแหล่งโปรเจ็กต์และปรับใช้กับที่เก็บ maven คุณจะพบมัน :)
เพียง FYI สิ่งประดิษฐ์แหล่งที่ถูกสร้างขึ้นโดยทั่วไปMaven แหล่งปลั๊กอิน ปลั๊กอินนี้สามารถรวมแหล่งที่มาหลักหรือทดสอบของโครงการลงในไฟล์เก็บถาวร jar และตามที่อธิบายไว้ในการกำหนดค่าปลั๊กอินแหล่งที่มา :
(... ) ไฟล์ jar ที่สร้างขึ้นจะถูกตั้งชื่อโดยค่าของเครื่องหมาย
finalName
บวก "-sources" หากเป็นแหล่งข้อมูลหลัก มิฉะนั้นจะfinalName
เป็นเครื่องหมายบวก "-test-sources" หากเป็นแหล่งข้อมูลการทดสอบ
ข้อความเพิ่มเติมได้รับการอธิบายสิ่งประดิษฐ์ ("-sources" หรือ "-test-sources" ที่นี่) เรียกว่าลักษณนาม
ในการประกาศการขึ้นต่อกันของสิ่งประดิษฐ์ที่ใช้ตัวแยกประเภทเพียงแค่เพิ่ม<classifier>
องค์ประกอบ ตัวอย่างเช่น:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<classifier>sources</classifier>
</dependency>
โปรดทราบว่าโดยทั่วไปคุณไม่ได้ทำสิ่งนี้ IDEs ส่วนใหญ่จะให้การสนับสนุนแหล่งดาวน์โหลด (และ / หรือ JavaDoc) จากส่วนหลักโดยไม่ต้องประกาศการพึ่งพาอย่างชัดเจน
สุดท้ายโปรดทราบว่าเอ็นจิ้นการค้นหาที่เก็บบางแห่งอนุญาตให้ค้นหาสิ่งประดิษฐ์โดยใช้ตัวแยกประเภท (อย่างน้อย Nexus ทำด้วยการค้นหาขั้นสูง) ดูตัวอย่างการค้นหานี้
ปลั๊กอินคิด Mavenสำหรับ IntelliJ ไอเดียช่วยให้คุณระบุหรือไม่ว่าแหล่งที่มาและ Java doc ควรได้รับการแก้ไขและดาวน์โหลดได้
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true
ในการดาวน์โหลดแหล่งข้อมูลเฉพาะหรือ javadocเราจำเป็นต้องรวม GroupIds - เป็นค่าที่คั่นด้วยเครื่องหมายจุลภาคดังที่แสดงด้านล่าง
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
โปรดทราบว่าลักษณนามจะไม่ถูกคั่นด้วยเครื่องหมายจุลภาคเพื่อดาวน์โหลด javadoc เราจำเป็นต้องเรียกใช้คำสั่งข้างต้นอีกครั้งกับลักษณนามเป็น javadoc
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc
เพื่อดาวน์โหลดสิ่งประดิษฐ์ใด ๆ ที่ใช้
mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier
สำหรับแหล่ง Groovy สิ่งนี้จะเป็น
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources
สำหรับ javadoc ของ Groovy คุณจะใช้
mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc
ทำให้สิ่งประดิษฐ์นี้ได้รับการลงพื้นที่เก็บข้อมูล Maven $HOME/.m2/repository
ท้องถิ่นของคุณคือมักจะ
dependency:sources
เพียงดาวน์โหลดแหล่งอ้างอิงของโครงการไม่ใช่แหล่งปลั๊กอินหรือแหล่งอ้างอิงที่กำหนดไว้ภายในปลั๊กอิน
คุณสามารถค้นหาข้อมูลในคำถามที่เกี่ยวข้องนี้: รับไฟล์ jar ต้นฉบับที่เชื่อมต่อกับ Eclipse สำหรับการพึ่งพา Maven ที่มีการจัดการ
หากคุณใช้ปลั๊กอิน eclipse maven แล้วใช้ 'mvn eclipse: eclipse -DdownloadSources = true'
หากคุณกำลังใช้ eclipse คุณสามารถเปิดการกำหนดค่าตามความชอบ> Maven และเลือกดาวน์โหลด Artifact Sources ซึ่งจะทำให้ pom.xml ไม่เป็นอันตรายและเก็บซอร์สหรือ java docs ของคุณ (หากเลือก) เพื่อการพัฒนาที่ตำแหน่งเครื่องของคุณ ~ / .m2
ใน Eclipse
pom.xml
Run As
-> Maven generate-sources
ก่อนจำเป็น:
Maven ควรกำหนดค่าด้วย Eclipse
คุณสามารถถ้าพวกเขาจะถูกอัปโหลด โดยทั่วไปจะเรียกว่า "frameworkname-version-source (s)"
ในNetBeans 8 ที่มีโปรเจ็กต์ขับเคลื่อนด้วย Maven เพียงคลิกบริบทบนไอเท็มรายการไฟล์ jar ของการพึ่งพาที่คุณสนใจ เลือกDownload Sources
เลือกรอสักครู่และ NetBeans จะดาวน์โหลดและติดตั้งซอร์สโค้ดโดยอัตโนมัติหากมี
ในทำนองเดียวกันคุณสามารถเลือกDownload Javadoc
รับเอกสารที่ติดตั้งในเครื่องได้ จากนั้นคุณสามารถคลิกบริบทรหัสในตัวแก้ไขและเลือกดู JavaDoc
จากการเฝ้าดูคอนโซล Maven ใน Eclipse (Kepler) แหล่งที่มาจะถูกดาวน์โหลดโดยอัตโนมัติสำหรับการพึ่งพา Maven หากคุณพยายามเปิดคลาสจากการพึ่งพา Maven ดังกล่าวในตัวแก้ไขที่คุณไม่ได้ดาวน์โหลดแหล่งที่มาแล้ว สิ่งนี้มีประโยชน์เมื่อคุณไม่ต้องการคว้าแหล่งที่มาสำหรับการอ้างอิงทั้งหมดของคุณ แต่คุณไม่ทราบว่าแหล่งใดที่คุณต้องการล่วงหน้า (และคุณกำลังใช้ Eclipse)
ฉันลงเอยด้วยการใช้วิธีการของ @ GabrielRamierezแต่จะใช้วิธีการของ @ PascalThiventต่อไป
หากคุณรู้จักgroupIdและaritifactIdคุณสามารถสร้าง URL ดาวน์โหลดเช่นนี้
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
http://central.maven.org/maven2/ch/qos/logback/logback-classic/
และคุณจะได้หน้าเช่นนี้เลือกรุ่นที่คุณต้องการเพียงแค่สนุกกับมัน!
ฉันยังใช้ปลั๊กอิน eclipse เพื่อนำโปรเจ็กต์ไปไว้ในเวิร์กสเปซ eclipse เนื่องจากฉันทำงานในโครงการอื่นฉันเห็นว่าเป็นไปได้ที่จะทำงานกับ eclipse แต่ไม่มี maven-eclipse-plugin สิ่งนี้ทำให้การใช้งานง่ายขึ้นในสภาพแวดล้อมที่แตกต่างกันและทำให้สามารถใช้งาน maven บน eclipse และโดยไม่เปลี่ยนไฟล์ pom.xml
ดังนั้นฉันแนะนำวิธีการของ Gabriel Ramirez
สำหรับการดีบั๊กคุณสามารถใช้ "Java Decompiler" เช่น: JAD และ decompile source ได้อย่างรวดเร็ว (แม้ว่าแหล่งที่สร้างขึ้นจะไม่เหมือนกับต้นฉบับ) จากนั้นติดตั้ง JAD เป็นปลั๊กอินใน Eclipse หรือ IDE ที่คุณชื่นชอบ
ที่เก็บ Maven จะให้วิธีง่ายๆในการดาวน์โหลด jar แหล่ง
ฉันจะอธิบายมันโดยใช้การสาธิตสำหรับ "spring-boot-actuator-autoconfigure"
มิฉะนั้นคุณสามารถ "git clone" repo จาก github ได้ตลอดเวลาหากมีอยู่และรับรหัสเฉพาะ
ตามที่อธิบายโดยผู้อื่นคุณสามารถใช้คำสั่ง "mvn การพึ่งพา: แหล่งที่มา" รับและสร้างแหล่งขวดสำหรับการพึ่งพาที่คุณใช้
หมายเหตุ: การพึ่งพาบางอย่างจะไม่มี source.jar เนื่องจากไม่มีการอ้างอิงซอร์สโค้ด แต่เป็นไฟล์ pom เช่นฤดูใบไม้ผลิบูตเริ่มต้น-ตัวกระตุ้น เช่นเดียวกับในกรณีนี้:
Starter POM เป็นชุดของตัวอธิบายการอ้างอิงที่สะดวกซึ่งคุณสามารถรวมไว้ในแอปพลิเคชันของคุณ คุณจะได้รับร้านค้าครบวงจรสำหรับ Spring และเทคโนโลยีที่เกี่ยวข้องที่คุณต้องการโดยไม่ต้องค้นหารหัสตัวอย่างและคัดลอกวางคำอธิบายการพึ่งพา
การอ้างอิง: แนะนำให้รู้จักกับ Spring Boot Starters
ใน IntelliJ IDEA คุณสามารถดาวน์โหลดแหล่งที่มาของสิ่งประดิษฐ์โดยอัตโนมัติในขณะที่นำเข้าโดยการเปิดตัวเลือกการดาวน์โหลดโดยอัตโนมัติ:
Settings
→การ Build, Execution, Deployment
→การBuild Tools
→การMaven
→การImporting
หากคุณต้องการค้นหาไฟล์ jar ต้นฉบับสำหรับสิ่งประดิษฐ์ใด ๆ ด้วยตนเองไปที่ตำแหน่งที่เก็บ maven สำหรับสิ่งประดิษฐ์เฉพาะและในไฟล์คลิกที่ 'ดูทั้งหมด' คุณสามารถค้นหาไฟล์ jar ต้นฉบับ