คำถามติดแท็ก maven

Apache Maven เป็นเครื่องมือสร้างอัตโนมัติและเครื่องมือการจัดการโครงการที่ใช้เป็นหลักสำหรับโครงการ Java แท็กนี้สำหรับคำถามที่ไม่เกี่ยวข้องกับรุ่น Maven ที่ระบุ ใช้แท็ก gradle แทนสำหรับคำถามที่เกี่ยวข้องกับ Gradle

4
maven-shade-plugin ใช้สำหรับอะไรและทำไมคุณต้องการย้ายแพคเกจ Java?
ฉันพบ maven-shade-plugin ที่ใช้ใน pom.xml ของใครบางคน ฉันไม่เคยใช้ maven-shade-plugin มาก่อน (และฉันเป็น Maven n00b) ดังนั้นฉันจึงพยายามเข้าใจเหตุผลในการใช้สิ่งนี้และสิ่งที่มันทำ ฉันดูเอกสาร Mavenแต่ฉันไม่เข้าใจข้อความนี้: "ปลั๊กอินนี้ให้ความสามารถในการจัดแพคเกจสิ่งประดิษฐ์ใน uber-jar รวมถึงการขึ้นต่อกันและการแรเงา - เช่นเปลี่ยนชื่อ - แพ็คเกจของการพึ่งพาบางส่วน" เอกสารในหน้านี้ดูไม่ค่อยเป็นมิตรสำหรับมือใหม่มากนัก "uber jar คืออะไร" ทำไมบางคนต้องการสร้าง จุดเปลี่ยนชื่อแพคเกจของการอ้างอิงคืออะไร? ฉันพยายามดูตัวอย่างในหน้า apache maven-shade-plugin เช่น "การเลือกเนื้อหาสำหรับ Uber Jar" แต่ฉันก็ยังไม่เข้าใจว่าการแรเงาทำได้สำเร็จหรือไม่ พอยน์เตอร์ใด ๆ สำหรับตัวอย่างที่เป็นตัวอย่าง / use-cases (พร้อมคำอธิบายว่าทำไมการแรเงาจึงจำเป็นในกรณีนี้ - การแก้ไขปัญหาอะไร) จะได้รับการชื่นชม สุดท้ายฉันควรใช้ maven-shade-plugin เมื่อใด


5
มีวิธีง่ายๆในการลบการอ้างอิงที่ไม่ได้ใช้จาก maven pom.xml หรือไม่?
ฉันมีโครงการ Maven ขนาดใหญ่ที่มีโมดูลมากมายและอีกมากมาย pom.xmlไฟล์โครงการมีการเปลี่ยนแปลงและฉันสงสัยว่าปอมมีการขึ้นต่อกันที่ไม่จำเป็นบางอย่าง มีคำสั่งที่ลบการอ้างอิงที่ไม่ได้ใช้ออกจาก pom หรือไม่?
277 maven  maven-2 

5
“ แพคเกจที่สะอาด mvn” และ“ การติดตั้งที่สะอาด mvn” แตกต่างกันอย่างไร?
อะไรคือความแตกต่างระหว่างmvn clean packageและmvn clean install? เมื่อฉันรันทั้งสองคำสั่งเหล่านี้พวกเขาทั้งคู่ดูเหมือนจะทำสิ่งเดียวกัน
277 java  maven 

4
pluginManagement คืออะไรใน pom.xml ของ Maven
นี่เป็นตัวอย่างไฟล์ pom ของฉัน .... <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> ...... </configuration> </execution> </executions> </plugin> </plugins> ... ฉันใช้มันสำเร็จด้วยคำสั่ง mvn install แต่เมื่อฉันพยายามใส่มันลงในแท็ก "pluginManagement" การmaven-dependency-pluginหยุดทำงานเมื่อฉันเริ่มต้นinstallเป้าหมาย ทำไมแท็ก "pluginManagement" จึงเปลี่ยนพฤติกรรมการสร้าง หรือฉันควรใช้เป้าหมายหรือตัวเลือกอื่น

7
ความแตกต่างระหว่างการรวบรวมขอบเขต maven และจัดทำขึ้นสำหรับบรรจุภัณฑ์ JAR
อะไรคือความแตกต่างระหว่างขอบเขต maven compileและprovidedเมื่อสิ่งประดิษฐ์ถูกสร้างขึ้นเป็น JAR? ถ้าเป็น WAR ฉันก็จะเข้าใจ - จะมีการรวมสิ่งประดิษฐ์ไว้หรือไม่ใน WEB-INF / lib แต่ในกรณีของ JAR มันไม่สำคัญ - ไม่รวมการพึ่งพา พวกเขาจะต้องอยู่บน classpath เมื่อขอบเขตของพวกเขาคือหรือcompile providedฉันรู้ว่าการprovidedพึ่งพาไม่ได้สกรรมกริยา - แต่มันเป็นเพียงความแตกต่างเพียงอย่างเดียว?
260 maven  jar 

25
Maven: อ่านตัวบ่งชี้สิ่งประดิษฐ์ไม่สำเร็จ
ฉันหวังว่าบางคนสามารถช่วยฉันด้วยปัญหาที่ฉันกำลังดิ้นรนอยู่ เมื่อฉันพยายามสร้างโครงการจากเทอร์มินัลฉันพบข้อผิดพลาดนี้: Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT common.test-data-utilsขวดถูกสร้างขึ้นโดยโครงการที่แยกต่างหากและร่วมกันระหว่างนี้และโครงการอื่น (โครงการอื่น ๆ ไม่ได้สร้างอย่างใดอย่างหนึ่ง แต่ที่เป็นปัญหาลงไปอีก) ฉันสามารถสร้างได้com.morrislgn.merchandising.common:test-data-utilsโดยไม่มีปัญหาฉันสามารถดูรายการที่สร้างในที่.m2เก็บในเครื่องของฉัน ฉันได้ทำดัชนีที่เก็บของฉันอีกครั้งใน Eclipse POM สำหรับโครงการของฉันมีรายการนี้: <dependency> <groupId>com.morrislgn.merchandising.common</groupId> <artifactId>test-data-utils</artifactId> <version>0.3b-SNAPSHOT</version> </dependency> ซึ่งดูเหมือนจะถูกต้องสำหรับฉัน - POM จะไม่รายงานข้อผิดพลาดใด ๆ เมื่อดูใน Eclipse บางคนสามารถบอกสิ่งที่ฉันหายไปที่นี่หรือทำผิด?
258 java  maven  dependencies 


5
คุณระบุเวอร์ชันคอมไพเลอร์ Java ในไฟล์ pom.xml อย่างไร
ฉันเขียนโค้ด maven บน netbeans ที่มีประมาณ 2,000 บรรทัดขึ้นไป เมื่อฉันรวบรวมมันบน netbeans ทุกอย่างใช้ได้ แต่ถ้าฉันต้องการเรียกใช้บนบรรทัดคำสั่งฉันจะได้รับข้อผิดพลาดเหล่านี้: generics are not supported in -source 1.3 (use -source 5 or higher to enable generics) ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>(); generics are not supported in -source 1.3 (use -source 5 or higher to enable generics) HashSet<Double> resid_List = new …
252 java  maven  pom.xml 

15
บังคับให้ Maven คัดลอกการอ้างอิงไปยังเป้าหมาย / lib
ฉันจะคัดลอกการอ้างอิงแบบรันไทม์ของโครงการไปยังtarget/libโฟลเดอร์ได้อย่างไร มันเป็นอยู่ในขณะนี้หลังจากโฟลเดอร์มีเพียงขวดโครงการของฉัน แต่ไม่มีการอ้างอิงรันไทม์mvn clean installtarget

5
โถ uber คืออะไร?
ฉันกำลังอ่านเอกสาร Maven และเจอชื่อ 'uber-jar' uber-jar หมายถึงอะไรและมีคุณสมบัติ / ข้อได้เปรียบอะไร
251 maven  uberjar 

4
วิธีการเรียกใช้ Maven จากไดเรกทอรีอื่น (ไม่มี cd ไปยังโปรเจ็กต์ dir)?
เผื่อว่าโครงการ Maven ของฉันตั้งอยู่ใน/some/location/projectสถานที่ตั้งปัจจุบันของฉันคือ/another/location/วิธีการที่ฉันสามารถเรียกใช้ Maven สร้างโดยไม่ได้เปลี่ยนไปยังสถานที่โครงการcd /some/location/project?
249 maven 

14
Maven - ดาวน์โหลดแหล่งที่มาและ javadocs เสมอ
มีวิธีที่ฉันสามารถกำหนดค่า Maven ไปเสมอแหล่งดาวน์โหลดและ javadocs? การระบุ-DdownloadSources=true -DdownloadJavadocs=trueทุกครั้ง (ซึ่งมักจะไปพร้อมกับการรวบรวม mvn ทำงานสองครั้งเพราะฉันลืมครั้งแรก) จะค่อนข้างน่าเบื่อ
244 java  maven 

18
ฉันจะโหลดไฟล์จากโฟลเดอร์ทรัพยากรได้อย่างไร
โครงการของฉันมีโครงสร้างดังต่อไปนี้: /src/main/java/ /src/main/resources/ /src/test/java/ /src/test/resources/ ฉันมีไฟล์อยู่/src/test/resources/test.csvและฉันต้องการโหลดไฟล์จากการทดสอบหน่วยใน/src/test/java/MyTest.java ฉันมีรหัสนี้ซึ่งใช้งานไม่ได้ มันบ่นว่า "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" BufferedReader br = new BufferedReader (new FileReader(test.csv)) ฉันก็ลองทำเช่นนี้ InputStream is = (InputStream) MyTest.class.getResourcesAsStream(test.csv)) สิ่งนี้ยังใช้งานไม่ได้ มันกลับnullมา ฉันใช้ Maven เพื่อสร้างโครงการของฉัน
240 java  file  maven 

5
ฉันจะปิดใช้งานปลั๊กอิน Maven Javadoc จากบรรทัดคำสั่งได้อย่างไร
ใน pom.xml ฉันมีการประกาศเช่นนี้ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> มีวิธีใดที่จะปิดสิ่งนั้นจากบรรทัดคำสั่ง? ฉันรู้ว่าฉันสามารถแยกมันออกเป็นโปรไฟล์ได้ แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ

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