คำถามติดแท็ก pom.xml

Project Object Model หรือ POM เป็นหน่วยพื้นฐานของการทำงานใน Maven

12
ความแตกต่างระหว่างการจัดการการพึ่งพาและการพึ่งพาใน Maven
ความแตกต่างระหว่างdependencyManagementและdependenciesคืออะไร? ฉันได้เห็นเอกสารที่เว็บไซต์ Apache Maven ดูเหมือนว่าการพึ่งพาที่กำหนดไว้ภายใต้dependencyManagementสามารถนำมาใช้ในโมดูลย่อยได้โดยไม่ต้องระบุรุ่น ตัวอย่างเช่น: โครงการหลัก (Pro-par) กำหนดการอ้างอิงภายใต้dependencyManagement: <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8</version> </dependency> </dependencies> </dependencyManagement> จากนั้นในลูกของ Pro-par ฉันสามารถใช้ Junit: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies> อย่างไรก็ตามฉันสงสัยว่าจำเป็นต้องกำหนด junit ใน parent pom หรือไม่? ทำไมไม่กำหนดโดยตรงในโมดูลที่ต้องการ?

8
IntelliJ - แปลงโครงการ / โมดูล Java เป็นโครงการ / โมดูล Maven
ฉันมีโครงการใน Bitbucket เฉพาะแหล่งที่มาเท่านั้น ในการดึงโปรเจ็กต์ไปยังเครื่องใหม่ฉันใช้การควบคุมเวอร์ชัน> ชำระเงินจากการควบคุมเวอร์ชันจากภายใน IntelliJ จากนั้นจะถามว่าฉันต้องการสร้างโครงการใหม่จากแหล่งนี้หรือไม่ซึ่งฉันตอบว่าใช่ จนถึงตอนนี้ดีมาก มันสร้างโปรเจ็กต์เล็ก ๆ ที่ดีสำหรับฉันซึ่งประกอบด้วยโมดูลเดียว อย่างไรก็ตามเป้าหมายของฉันในการดึงโครงการนี้เข้าสู่ IntelliJ คือเปลี่ยนเป็นโครงการ Maven ฉันไม่พบตัวเลือกใด ๆ ที่จะให้ฉันทำเช่นนี้! มีวิธีที่จะทำให้ IntelliJ เพิ่งสร้าง pom.xml ว่างเปล่าขั้นพื้นฐานสำหรับฉันด้วยชื่อและ artifactId และที่เก็บหรือไม่? หรือมีวิธีการนำเข้าโครงการเป็นโครงการ Maven ตั้งแต่แรกไหม (เมื่อใดก็ตามที่ฉันพยายามสร้างโครงการจากแหล่งที่มีอยู่จะให้ตัวเลือกของโครงการ Java เท่านั้น)

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" จึงเปลี่ยนพฤติกรรมการสร้าง หรือฉันควรใช้เป้าหมายหรือตัวเลือกอื่น

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 


6
จะอ้างอิงตัวแปรสภาพแวดล้อมใน POM.xml อย่างไร
ฉันใช้ maven เป็นเครื่องมือสร้าง envฉันได้ตั้งตัวแปรสภาพแวดล้อมที่เรียกว่า ฉันจะเข้าถึงค่าของตัวแปรสภาพแวดล้อมนี้ในpom.xmlไฟล์ได้อย่างไร?

7
mvn ติดตั้งใน maven ทำอะไรกันแน่
ฉันเพิ่งเริ่มใช้ Maven และฉันได้รับคำสั่งให้ทำmvn installในไดเรกทอรีเฉพาะ สิ่งที่ไม่mvn installทำว่า? ฉันคิดว่ามันค้นหาpom.xmlในโฟลเดอร์ปัจจุบันและเริ่มทำตามคำแนะนำที่ระบุในไฟล์นั้น ถูกต้องไหม
165 java  maven  pom.xml 

9
หยุด IntelliJ IDEA เพื่อเปลี่ยนระดับภาษาจาวาทุกครั้งที่ pom ถูกโหลดใหม่ (หรือเปลี่ยนระดับภาษาเริ่มต้นของโครงการ)
เมื่อใช้ IntelliJ 12 ฉันมีโปรเจ็กต์ java และฉันใช้ maven กับ pom.xml โปรเจ็กต์ของฉันใช้ java8 แต่ดูเหมือนว่าภาษาระดับโปรเจ็กต์ดีฟอลต์ถูกตั้งค่าเป็น 6 ขณะอิมพอร์ตโปรเจ็กต์ ฉันสามารถเปลี่ยนระดับภาษาเป็น 8.0 (F4 -> Modules -> ระดับภาษา) อย่างไรก็ตามทุกครั้งที่ฉันแก้ไข pom.xml ระดับโปรเจ็กต์จะเปลี่ยนกลับไปเป็น "ใช้ระดับภาษาโปรเจ็กต์" และฉันต้องแก้ไขการตั้งค่านี้อีกครั้ง อีกครั้ง มีสิ่งที่ฉันต้องเพิ่มใน pom.xml เพื่อตั้งค่าระดับภาษาเริ่มต้นเป็น 8.0 หรือไม่

13
ระบุ JDK สำหรับ Maven ที่จะใช้
ฉันกำลังพยายามสร้างปลั๊กอินฮัดสันที่ฉันแก้ไขและต้องใช้ jdk1.6 นี่เป็นเรื่องปกติ แต่ฉันไม่เห็นว่าฉันจะบอกพวกเขาได้อย่างไรว่า jdk แตกต่างกันอย่างไร ฉันพบบางอย่างที่กล่าวถึงบนอินเทอร์เน็ต แต่พวกเขาดูเหมือนจะไม่ใช้กับฉัน บางคนแนะนำให้เพิ่มการตั้งค่าบางอย่างแต่ฉันไม่ได้มี.m2/settings.xml settings.xmlนอกจากนี้ฉันไม่ต้องการใช้ 1.6 สำหรับการสร้าง maven ทั้งหมด ผมหงอกหนึ่งที่ใช้mvnใน cygwin ถ้าเรื่องที่ทุกคน ดูเหมือนว่าฉันควรจะสามารถทำข้อกำหนดในไฟล์ pom โครงการ แต่ pom ที่มีอยู่เปลือยสวย ดังนั้นกำไรคือมีวิธีระบุ jdk สำหรับการร้องขอ maven เดียวหรือไม่?

9
มีการยกเว้นสิ่งประดิษฐ์ที่สืบทอดมาจาก POM หลักหรือไม่?
อาร์ติแฟกต์จากการอ้างอิงสามารถแยกออกได้โดยการประกาศ<exclusions>องค์ประกอบภายใน<dependency>แต่ในกรณีนี้จำเป็นต้องแยกอาร์ติแฟกต์ที่สืบทอดมาจากโปรเจ็กต์หลัก ข้อความที่ตัดตอนมาของ POM ภายใต้การอภิปรายมีดังนี้: <project> <modelVersion>4.0.0</modelVersion> <groupId>test</groupId> <artifactId>jruby</artifactId> <version>0.0.1-SNAPSHOT</version> <parent> <artifactId>base</artifactId> <groupId>es.uniovi.innova</groupId> <version>1.0.0</version> </parent> <dependencies> <dependency> <groupId>com.liferay.portal</groupId> <artifactId>ALL-DEPS</artifactId> <version>1.0</version> <scope>provided</scope> <type>pom</type> </dependency> </dependencies> </project> baseสิ่งประดิษฐ์ขึ้นอยู่กับ javax.mail:mail-1.4.jarและALL-DEPSขึ้นอยู่กับเวอร์ชันอื่นของไลบรารีเดียวกัน เนื่องจากความจริงที่ว่าmail.jarจากALL-DEPSที่มีอยู่กับสภาพแวดล้อมในการดำเนินการแม้จะไม่ได้ส่งออก collides กับที่มีอยู่ในผู้ปกครองซึ่งเป็นขอบเขตเป็นmail.jarcompile วิธีแก้ปัญหาคือการกำจัด mail.jar ออกจาก POM หลัก แต่โปรเจ็กต์ส่วนใหญ่ที่สืบทอดฐานจำเป็นต้องใช้ (เช่นเดียวกับการพึ่งพา transtive สำหรับ log4j) ดังนั้นสิ่งที่ฉันต้องการจะทำคือการแยกไลบรารีของผู้ปกครองออกจากโปรเจ็กต์ลูกเนื่องจากสามารถทำได้หากbaseเป็นการพึ่งพาไม่ใช่ผู้ปกครอง: ... <dependency> <artifactId>base</artifactId> <groupId>es.uniovi.innova</groupId> <version>1.0.0</version> <type>pom<type> <exclusions> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> …
120 java  maven-2  pom.xml 

8
maven ระหว่างการพึ่งพาและแท็กปลั๊กอินใน pom xml แตกต่างกันอย่างไร
ฉันยังใหม่กับเครื่องมือ maven ฉันได้สร้างโปรเจ็กต์ด้วย Spring และ Hibernate และมีการกำหนดค่าใน pom.xml เป็นปลั๊กอิน แต่ JUnit ถูกแท็กภายใต้การพึ่งพา คำถามของฉันคืออะไรคือตรรกะที่อยู่เบื้องหลังหนึ่งในฐานะปลั๊กอินและอีกอย่างหนึ่งเป็นการพึ่งพา?

2
ติดตั้ง POM หลักโดยไม่ต้องสร้างโมดูลลูก
ฉันมี POM หลักในโครงการ Maven ด้วยโครงสร้างนี้: parent | --------------- | | child1 child2 ฉันต้องการติดตั้ง POM ของ"พาเรนต์"ใน REPO ในพื้นที่เพื่อให้child1ทำการเปลี่ยนแปลงบางอย่างที่ฉันทำในการจัดการการพึ่งพา แต่ฉันไม่สามารถทำการ "ติดตั้งใหม่ทั้งหมด" แบบปกติได้เนื่องจาก"child2"เสียและจะไม่สร้าง ซึ่งเป็นวิธีที่เหมาะสมในการทำสิ่งนี้กับ maven (นอกเหนือจากไปที่ parent pom และแสดงความคิดเห็นโมดูล"child2" )
115 java  maven  maven-2  pom.xml 

8
Maven: แพ็กเกจสำหรับโปรเจ็กต์นี้ไม่ได้กำหนดไฟล์ให้กับบิวด์อาร์ติแฟกต์
ฉันใช้ Maven 3.0.3 บน Mac 10.6.6 ฉันมีโปรเจ็กต์ JAR และเมื่อฉันรันคำสั่ง "mvn clean install: install" ฉันได้รับข้อผิดพลาด [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.3.1:install (default-cli) on project StarTeamCollisionUtil: The packaging for this project did not assign a file to the build artifact -> [Help 1] สิ่งนี้หมายความว่าอย่างไรและฉันจะแก้ไขได้อย่างไร ด้านล่างนี้คือ pom.xml ของฉัน แจ้งให้เราทราบว่าจะมีข้อมูลอะไรอีกบ้างและฉันจะแก้ไขโพสต์นี้ ขอบคุณ - เดฟ <project …

3
อะไรคือความแตกต่างระหว่างการพึ่งพาประเภท "pom" กับขอบเขต "นำเข้า" และไม่มี "นำเข้า"
เริ่มจาก Maven 2.0.9 มีความเป็นไปได้ที่จะรวมไว้ด้วย <type>pom</type> <scope>import</scope> ใน<dependencyManagement>ส่วน ตามที่ฉันเข้าใจมันจะถูก "แทนที่" ด้วยการอ้างอิงที่รวมอยู่ใน pom นี้ราวกับว่าเดิมถูกกำหนดไว้ที่นี่ อะไรคือความแตกต่างระหว่างโซลูชันด้านบนและการพึ่งพาอย่างง่ายกับ pom นี้โดยไม่มีimportขอบเขต (ฉันเห็นว่าหลังนี้เรียกว่า "การจัดกลุ่มการพึ่งพา") ความแตกต่างเพียงประการเดียวที่การอ้างอิงแบบ "จัดกลุ่ม" ดังกล่าวมีลำดับความสำคัญต่ำกว่าในขณะที่แก้ไขความสำคัญของการอ้างอิงหรือไม่?

19
เหตุใดฉันจึงได้รับข้อผิดพลาดที่ไม่รู้จักในบรรทัดที่ 1 ของ pom.xml
รับข้อผิดพลาดที่ไม่รู้จักที่บรรทัด 1 pom.xmlใน Eclipse IDE มันทำงานได้ดีจนถึงเมื่อวานนี้ แต่ทันใดนั้นหลังจากอัปเดตโปรเจ็กต์ของฉันจากมาสเตอร์และหลังจากแก้ไขข้อขัดแย้งในการผสานกลับได้รับ "ข้อผิดพลาดที่ไม่รู้จัก" ใน pom.xml ยกเว้นฉันไม่มีเพื่อนร่วมทีมคนไหนประสบปัญหานี้ ฉันยังเปลี่ยนพื้นที่ทำงานลบแคช แต่ยังไม่มีโชค ฉันใช้ฐานข้อมูล h2 สำหรับโปรเจ็กต์นี้แม้ว่าจะแทรกค่าใน data.sql แต่ก็ไม่ได้รับค่าใด ๆ และแทรกลงในตารางฐานข้อมูล h2 ก่อนหน้านี้ปัญหานี้ใช้งานได้ดี ฉันรู้สึกว่ามันเกิดจากปัญหาใน pom.xml แต่ฉันไม่แน่ใจ กรุณาช่วย ฉันลบโปรเจ็กต์ที่มีอยู่และรับโค้ดล่าสุดจากมาสเตอร์ หลังจากนั้นลบโฟลเดอร์. m2 ภายใต้ผู้ใช้รวมถึงโฟลเดอร์ที่เก็บ ฉันอัปเดตโปรเจ็กต์และเปิดใช้งานการอัปเดตสแน็ปช็อต / รีลีสบังคับ, maven clean และ maven build แต่ไม่มีอะไรช่วย pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.abc.roster</groupId> …

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