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

Apache Maven เป็นเครื่องมือการจัดการโครงการและเครื่องมือความเข้าใจ นี่คือแท็กสำหรับคำถามที่เกี่ยวข้องกับ Maven ที่เฉพาะเจาะจงสำหรับ Maven รุ่น 2.x

10
ฉันจะติดตั้ง Maven กับ Yum ได้อย่างไร
ฉันพยายามที่จะไม่เรียนรู้เกี่ยวกับยำหรือมาเวนมากนัก ฉันได้รับรหัสนี้มาและฉันไม่ต้องการใช้เวลามากกว่าที่ฉันต้องอยู่ในสภาพแวดล้อมนี้ ฉันมียำ การติดตั้งของฉัน "มี" ("แนบด้วย"? "รู้เรื่อง"?) สอง repos: Amazon one และ JPackage ซึ่งฉันเข้าใจว่าเป็นมาตรฐาน (จริงๆแล้วแต่ละที่เก็บเหล่านั้นประกอบด้วยที่เก็บย่อยสองที่ แต่ฉันไม่คิดว่านั่นเป็นสาเหตุของปัญหา เมื่อฉันขอให้ yum ติดตั้ง maven2 มันปฏิเสธบอกว่าไม่เคยได้ยินเกี่ยวกับ maven2 เมื่อฉันขอให้ yum ติดตั้ง maven2 โดยไม่สนใจ Amazonมันก็ทำเช่นนั้น แต่มันติดตั้ง Maven 2.0.9 ซึ่งค่อนข้างเก่า pom.xml จริงฉันต้องการเวอร์ชันที่สูงกว่า เมื่อฉันเป็น Google สำหรับที่เก็บ Maven ฉันได้รับที่เก็บที่ Maven สามารถใช้เพื่อสร้างสิ่งอื่นไม่ใช่ที่เก็บที่ Yum สามารถใช้เพื่อติดตั้ง Maven (ฉันพบที่เก็บข้อมูลที่ให้ Maven สร้าง Yum ฉันคิดว่า Google …
138 maven-2  yum 

5
เพิ่มการพึ่งพาใน Maven
ฉันจะนำไฟล์ jar ที่ฉันมีและเพิ่มไปยังระบบการพึ่งพาใน maven 2 ได้อย่างไร ฉันจะเป็นผู้ดูแลการพึ่งพานี้และรหัสของฉันต้องการ jar นี้ในพา ธ คลาสเพื่อที่จะคอมไพล์

2
mvn clean install เทียบกับ deploy เทียบกับ release
ฉันเพิ่งเรียนรู้ maven และเมื่อเร็ว ๆ นี้เราจำเป็นต้องไปมากขึ้นเรื่อย ๆ ฉันต้องการทราบความแตกต่างระหว่าง mvn clean install mvn release mvn deploy กรุณาอธิบายให้ละเอียดที่สุด

14
ล้มเหลวในการดำเนินการเป้าหมาย org.apache.maven.plugins: maven-surefire-plugin: 2.10: test
ฉันใช้อินเทอร์เน็ตเป็นเวลาเกือบห้าวันแล้วเพื่อหาวิธีแก้ไขปัญหานี้ แต่ดูเหมือนจะไม่สามารถค้นหาและแก้ไขได้ด้วยตัวเองส่วนใหญ่เป็นเพราะฉันยังใหม่กับทั้ง Maven และ PlayN ดังนั้นฉันจึงไม่แน่ใจทั้งหมด สิ่งที่ฉันกำลังดูอยู่ แต่เห็นได้ชัดว่ามันเป็นจุดเริ่มต้นที่การสร้างแกนกลาง ดูเหมือนว่าจะไม่สามารถดาวน์โหลด "ตัวกรองสิ่งประดิษฐ์" และไม่สามารถเรียกใช้การทดสอบของ Surefire ได้ แต่ฉันแค่คาดเดาในสิ่งที่ฉันไม่ค่อยเข้าใจแม้ว่าฉันจะพยายามค้นคว้าเรื่องเหล่านี้อย่างบ้าคลั่ง ความช่วยเหลือใด ๆ จากผู้มีประสบการณ์มากกว่าจะได้รับการชื่นชมมาก ฉันเสียสติกับเรื่องนี้ [INFO] Building Synthesis Core 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ synthesis-core --- [INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ synthesis-core --- [debug] execute contextualize [INFO] Using 'UTF-8' encoding to copy …
132 maven  maven-2  playn 

3
วิธีอ่านไฟล์คุณสมบัติภายนอกใน Maven
ไม่มีใครรู้วิธีอ่านไฟล์ x.properties ใน Maven ฉันรู้ว่ามีวิธีใช้การกรองทรัพยากรเพื่ออ่านไฟล์คุณสมบัติและตั้งค่าจากสิ่งนั้น แต่ฉันต้องการวิธีใน pom.xml ของฉันเช่น: <properties file="x.properties"> </properties> มีการอภิปรายเกี่ยวกับเรื่องนี้: คุณสมบัติภายนอกของ Maven

6
ฉันจะให้ Maven หยุดการพยายามตรวจสอบการอัปเดตสำหรับสิ่งประดิษฐ์จากบางกลุ่มจาก maven-central-repo ได้อย่างไร
ฉันกำลังทำโครงการ Maven ที่ใหญ่พอสมควร เราอาจมีอาร์ติแฟกต์แต่ละรายการประมาณ 70 รายการซึ่งแบ่งออกเป็นสองไลบรารีของโค้ดที่ใช้ร่วมกันโดยประมาณและอาจมีแอปพลิเคชันสิบรายการที่ใช้ ทั้งหมดของรายการเหล่านี้อาศัยอยู่ในการ com.mycompany.*namespace เวลาส่วนใหญ่เราทำงานกับการสร้างสแนปชอต ดังนั้นในการสร้างแอปพลิเคชันเต็มรูปแบบฉันอาจสร้างโปรเจ็กต์ไลบรารีก่อนเพื่อให้ติดตั้งลงในที่เก็บในเครื่องของฉัน (ตามที่พูดmycompany-libname-2.4-SNAPSHOT.jar) ปัญหาคือเมื่อไปสร้างแอปพลิเคชันแล้ว ด้วยเหตุผลบางประการ Maven ต้องการตรวจสอบที่เก็บสาธารณะหลักสองแห่ง (maven-net-repo และ java-net-repo) สำหรับการอัปเดตสำหรับmycompany-*-SNAPSHOT.jarสิ่งประดิษฐ์ทั้งหมด แน่นอนว่าพวกเขาไม่พบที่นั่นและในที่สุดทุกอย่างก็กลับไปเป็นเวอร์ชันที่ฉันเพิ่งสร้างขึ้นในพื้นที่เก็บข้อมูลในพื้นที่ของฉัน แต่ฉันอยากให้ Maven หยุดทำสิ่งนี้เพราะ (ก) ทำให้ฉันรู้สึกเหมือนเป็นชาวเน็ตที่ไม่ดีพลเมือง สำหรับการตรวจสอบที่เก็บเหล่านี้อย่างต่อเนื่องเพื่อหาสิ่งที่จะไม่อยู่ที่นั่นและ (b) เพิ่มเวลาแฝงเครือข่ายที่ไม่จำเป็นและน่ารำคาญลงในกระบวนการสร้างของฉัน ฉันเคยใช้ maven ในโหมดออฟไลน์เกือบตลอดเวลาในการแก้ไขปัญหานี้ แต่ก็ไม่เหมาะเนื่องจากบางครั้งการพึ่งพาห้องสมุดสาธารณะจะได้รับการอัปเดต ดังนั้นสิ่งที่ฉันกำลังมองหาคือวิธีแก้ปัญหาซึ่งจะทำให้ Maven ไม่ตรวจสอบการอัปเดตจากที่เก็บที่กำหนดสำหรับสิ่งประดิษฐ์ที่ตรงตามเกณฑ์ที่กำหนด - ในกรณีนี้ฉันยินดีถ้า Maven จะละเว้นเวอร์ชัน SNAPSHOT หรือสิ่งประดิษฐ์ที่อยู่ในcom.mycompanynamespace
126 java  maven-2  repository 

6
ความแตกต่างของปลั๊กอิน Maven JAXB
ฉันได้พิจารณาแล้วว่ามีปลั๊กอินJAXBสองตัวสำหรับMaven 2 โดยมีการกำหนดค่าที่แตกต่างกัน อันนี้มาจาก Sun: http://jaxb.dev.java.net/jaxb-maven2-plugin/อีกอันมาจาก Mojohaus: http://mojohaus.org/jaxb2-maven-plugin/ คุณสามารถแนะนำปลั๊กอินใดต่อไปนี้ได้ ขอบคุณ Matt ในโครงการวิจัยเล็ก ๆ ของฉันฉันพบว่ามีปลั๊กอินอื่นที่มาจากดวงอาทิตย์: <groupId>com.sun.tools.xjc.maven2</groupId> <artifactId>maven-jaxb-plugin</artifactId> และสิ่งนั้น: <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> และยังเป็นหนึ่งจาก Codehouse

18
วิธีกำหนดค่า Eclipse build path เพื่อใช้ Maven dependencies?
ฉันต้องการใช้ประโยชน์จากคุณสมบัติที่ Maven มีให้สำหรับการจัดการการอ้างอิงในโครงการ ความเข้าใจสั้น ๆ ของฉันเกี่ยวกับวิธีการทำงานของ Maven คือจะได้รับ JAR ที่จำเป็นจากนั้นสร้างโครงการด้วยไลบรารีเหล่านี้ ขณะนี้ฉันมีไฟล์ POM ง่ายๆที่ตั้งค่าเป็นแบบทดสอบ: <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.jamesgoodwin.test</groupId> <artifactId>com.jamesgoodwin.test</artifactId> <version>0.0.1-SNAPSHOT</version> <build> </build> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.0.RELEASE</version> <type>jar</type> <scope>compile</scope> </dependency> </dependencies> </project> ในการจัดการการอ้างอิงฉันมักจะเพิ่มโครงการหรือ JAR ลงในเส้นทางการสร้างจากนั้นฉันจะสามารถสร้างโครงการของฉันได้ .. แต่เมื่อใช้M2Eclipseการอ้างอิงจะไม่ถูกเพิ่มโดยอัตโนมัติในเส้นทางการสร้าง มีการกำหนดค่าใด ๆ เพื่อให้ Eclipse รู้ว่า Maven กำลังจัดการการอ้างอิงหรือไม่?
124 java  eclipse  maven-2  ide  m2eclipse 

7
จะได้รับแผนผังการพึ่งพาสำหรับสิ่งประดิษฐ์ได้อย่างไร?
dependency:treeสามารถใช้เพื่อดูแผนผังการพึ่งพาสำหรับโครงการที่กำหนด แต่สิ่งที่ฉันต้องการคือดูแผนผังการพึ่งพาสำหรับสิ่งประดิษฐ์ของบุคคลที่สาม ฉันเดาว่าฉันสามารถสร้างโปรเจ็กต์เปล่า ๆ ได้ แต่ฉันกำลังมองหาสิ่งที่ง่ายกว่า (ฉันต้องทำสิ่งนี้สำหรับสิ่งประดิษฐ์หลายชิ้น)

3
บรรทัดคำสั่งง่ายๆในการดาวน์โหลดสิ่งประดิษฐ์ maven2 ระยะไกลไปยังที่เก็บในเครื่อง?
ฉันมีห้องสมุดที่ฉันแจกจ่ายโดยใช้ maven 2 ผู้ใช้ทั่วไปของห้องสมุดนี้ไม่ได้ใช้ maven ในการสร้างแอปพลิเคชันของพวกเขา แต่น่าจะค่อนข้างคุ้นเคยกับ maven และอาจติดตั้งไว้แล้ว ฉันต้องการจัดทำเอกสารคำสั่ง "ง่ายๆ" หนึ่งบรรทัดที่สามารถใช้เพื่อดาวน์โหลด~/.m2/repositoryอาร์ติแฟกต์ของไลบรารีของฉันลงในเครื่องได้โดยไม่ต้องให้พวกเขาตั้งค่า pom.xml เพื่อทำ ฉันคิดว่ามีวิธีทำ แต่ดูเหมือนจะหาไม่เจอหลังจากดูเอกสารประกอบinstall:install-fileและdependencyปลั๊กอินแล้ว ฉันลองทำสิ่งต่างๆเช่น: mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar แต่ฉันคิดว่าฉันกำลังเห่าต้นไม้ที่ไม่ถูกต้องเนื่องจากดูเหมือนว่าปลั๊กอินการติดตั้งจะใช้เพื่อคัดลอกไฟล์ที่สร้างขึ้นในเครื่องไปยังที่เก็บในเครื่องแทนที่จะดาวน์โหลดสิ่งประดิษฐ์ระยะไกลไปยังที่เก็บในเครื่อง นี่คือสิ่งประดิษฐ์ที่ฉันต้องการติดตั้ง: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/ เป็นไปได้โดยใช้ maven?
123 maven-2 

4
สร้างขวดปฏิบัติการด้วย maven?
ฉันกำลังพยายามสร้าง jar ปฏิบัติการสำหรับโปรเจ็กต์บ้านขนาดเล็กชื่อ "logmanager" โดยใช้ maven เช่นนี้: ฉันจะสร้าง JAR ที่ปฏิบัติการได้โดยใช้ Maven ได้อย่างไร ฉันเพิ่มข้อมูลโค้ดที่แสดงไว้ใน pom.xml และรัน mvn assembly: assembly มันสร้างไฟล์ jar สองไฟล์ใน logmanager / target: logmanager-0.1.0.jar และ logmanager-0.1.0-jar-with-dependencies.jar ฉันได้รับข้อผิดพลาดเมื่อฉันดับเบิลคลิกที่โถแรก: Could not find the main class: com.gorkwobble.logmanager.LogManager. Program will exit. ข้อผิดพลาดที่แตกต่างกันเล็กน้อยเมื่อฉันดับเบิลคลิก jar-with-dependencies.jar: Failed to load Main-Class manifest attribute from: C:\EclipseProjects\logmanager\target\logmanager-0.1.0-jar-with-dependencies.jar ฉันคัดลอกและวางเส้นทางและชื่อคลาสและตรวจสอบการสะกดใน POM …


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 

2
ฉันจะรันโปรแกรมโดยใช้ Maven ได้อย่างไร?
ฉันต้องการให้เป้าหมาย Maven กระตุ้นการทำงานของคลาสจาวา ฉันกำลังพยายามย้ายข้อมูลMakefileด้วยบรรทัด: neotest: mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse" และฉันต้องการmvn neotestผลิตสิ่งที่make neotestทำอยู่ในปัจจุบัน ทั้งเอกสารประกอบปลั๊กอิน execหรือหน้างาน Maven Antไม่มีตัวอย่างที่ตรงไปตรงมา ปัจจุบันฉันอยู่ที่: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.1</version> <executions><execution> <goals><goal>java</goal></goals> </execution></executions> <configuration> <mainClass>org.dhappy.test.NeoTraverse</mainClass> </configuration> </plugin> ฉันไม่รู้วิธีเรียกใช้ปลั๊กอินจากบรรทัดคำสั่ง

12
เราควรใช้ Nexus หรือ Artifactory สำหรับ Maven Repo หรือไม่?
เรากำลังใช้ Maven สำหรับกระบวนการสร้างขนาดใหญ่ (> 100 โมดูล) เราได้จัดเก็บการอ้างอิงภายนอกของเราในการควบคุมแหล่งที่มาและใช้เพื่ออัปเดต repo ในเครื่อง อย่างไรก็ตามเราพร้อมที่จะเปลี่ยนไปใช้ repo ในพื้นที่ที่สามารถแคชส่วนกลางเพื่อที่เราจะได้ไม่ต้องดาวน์โหลดบุคคลที่สามทั้งหมดในเชิงรุก (แต่เรายังสามารถดึง repo ในพื้นที่ได้) นอกจากนี้เราต้องการเผยแพร่สิ่งประดิษฐ์บิวด์ภายในของเราจากงานสร้างทุกคืนเพื่อให้นักพัฒนาไม่ต้องสร้างโลก เรากำลังพิจารณา Nexus และ Artifactory อะไรคือสาเหตุของการเลือกอย่างใดอย่างหนึ่ง? มีคนอื่นที่เราควรพิจารณาหรือไม่?

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