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

Apache Maven เป็นเครื่องมือสำหรับการจัดการโครงการและสร้างระบบอัตโนมัติ แท็กนี้มีไว้สำหรับคำถามเกี่ยวกับ Maven เวอร์ชัน 3.x สำหรับคำถามที่ไม่ใช่เวอร์ชันเฉพาะโปรดใช้แท็ก [maven]

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 …

6
จะเก็บโปรไฟล์ Maven ที่ activeByDefault ไว้ได้อย่างไรแม้ว่าโปรไฟล์อื่นจะเปิดใช้งานอยู่ก็ตาม
ฉันมีโปรไฟล์ใน pom.xml ซึ่งควรใช้งานได้ตลอดเวลาเว้นแต่จะปิดใช้งานอย่างชัดเจน (-P! firstProfile) ฉันแก้ไขสิ่งนี้โดยใช้แฟล็ก activeByDefault: <profiles> <profile> <id>firstProfile</id> <activation> <activeByDefault>true</activeByDefault> </activation> ... </profile> </profiles> ตอนนี้ใน pom.xml เดียวกันฉันมีโปรไฟล์ที่สองที่กำหนดสิ่งนี้ควรใช้งานได้ก็ต่อเมื่อเปิดใช้งานโปรไฟล์จริงๆ (-P secondProfile) ดังนั้นลักษณะการทำงานเริ่มต้นคือ: firstProfile active, secondProfile inactive ในบางจุดฉันต้องการเปิดใช้งานโปรไฟล์ที่สองนอกเหนือจากโปรไฟล์แรก ตอนนี้ปัญหาคือว่าถ้าฉันทำด้วย "-P secondProfile" firstProfile จะถูกปิดการใช้งาน เอกสาร Maven ระบุสิ่งนี้: ... โปรไฟล์นี้จะเปิดใช้งานโดยอัตโนมัติสำหรับทุกงานสร้างเว้นแต่จะเปิดใช้งานโปรไฟล์อื่นใน POM เดียวกันโดยใช้วิธีการใดวิธีหนึ่งที่อธิบายไว้ก่อนหน้านี้ โปรไฟล์ทั้งหมดที่แอ็คทีฟโดยค่าเริ่มต้นจะถูกปิดใช้งานโดยอัตโนมัติเมื่อโปรไฟล์ใน POM ถูกเปิดใช้งานบนบรรทัดคำสั่งหรือผ่านการกำหนดค่าการเปิดใช้งาน ... มีความเป็นไปได้หรือไม่ที่จะทำให้ firstProfile ใช้งานได้ตลอดเวลา (โดยไม่ต้องประกาศใน settings.xml)
113 maven-2  maven  maven-3 

4
วิธีเข้าถึง maven.build.timestamp สำหรับการกรองทรัพยากร
ฉันใช้ maven 3.0.4 และต้องการให้การประทับเวลาสร้างสามารถเข้าถึงแอปพลิเคชันของฉันได้ สำหรับสิ่งนี้ฉันกำลังใส่ตัวยึดใน.propertiesไฟล์และปล่อยให้ maven กรองในบิลด์ แม้ว่าจะใช้งานได้ดี${project.version}แต่${maven.build.timestamp}ก็ไม่ได้ถูกแทนที่ด้วยการกรอง ดูเหมือนว่าคุณสมบัติจะพร้อมใช้งานในบิลด์ - ฉันสามารถใช้เพื่อแก้ไขชื่ออาร์ติแฟกต์: <finalName>${project.artifactId}-${maven.build.timestamp}</finalName> เหตุใดจึงไม่สามารถใช้การกรองทรัพยากรได้ และที่สำคัญกว่านั้นฉันจะทำให้เข้าถึงได้อย่างไร
107 maven  timestamp  maven-3 

7
Maven: Lifecycle vs. Phase vs. Plugin vs. Goal [ปิดแล้ว]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ผู้พัฒนาค่อนข้างใหม่ที่นี่แม้ว่าฉันจะใช้งานมาระยะหนึ่งแล้ว แต่ฉันหวังว่าจะเสริมสร้างพื้นฐาน Maven ของฉัน ปัญหาส่วนหนึ่งของฉันคือฉันไม่มีประสบการณ์กับ Ant ซึ่งดูเหมือนจะมาจากที่ที่มีคำอธิบายมากมาย ฉันอ่านและดูบทแนะนำต่างๆมาตลอดและฉันก็มักจะได้ยินคำศัพท์เดิม ๆ : วงจรชีวิต เฟส เสียบเข้าไป เป้าหมาย จากสิ่งที่ฉันได้เรียนรู้มาดูเหมือนว่าวงจรชีวิตจะกว้างที่สุดและประกอบด้วย (หรือเสร็จสิ้นโดย) ขั้นตอนปลั๊กอินและ / หรือเป้าหมาย คำถาม : คุณสามารถให้ข้อมูลเกี่ยวกับความเกี่ยวข้องของคำเหล่านี้และตัวอย่างที่พบบ่อยที่สุดได้หรือไม่? ยิ่งชัดเจนและเป็นพื้นฐานยิ่งดี!

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

9
ฉันจะบังคับให้ Maven ใช้พื้นที่เก็บข้อมูลในเครื่องของฉันแทนที่จะออกไปที่พื้นที่เก็บข้อมูลระยะไกลเพื่อดึงสิ่งประดิษฐ์ได้อย่างไร
ฉันใช้ Maven 3.3.3 กับ Java 8 บน Mac Yosemite ฉันมีโครงการหลายโมดูล <modules> <module>first-module</module> <module>my-module</module> … </modules> เมื่อฉันสร้างหนึ่งในโมดูลลูกของฉันตัวอย่างเช่น "my-module" จากด้านบนโดยใช้ "mvn clean install" บิวด์จะพยายามดาวน์โหลดอาร์ติแฟกต์โมดูลลูกจากที่เก็บระยะไกลที่ฉันได้กำหนดไว้ใน ~ / .m2 ของฉัน /settings.xml ไฟล์ เอาต์พุตอยู่ด้านล่าง [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building my-module 87.0.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ Downloading: https://my.remoterepository.com/nexus/content/repositories/snapshots/org/mainco/subco/first-module/87.0.0-SNAPSHOT/maven-metadata.xml Downloading: http://download.java.net/maven/2/org/mainco/subco/first-module/87.0.0-SNAPSHOT/maven-metadata.xml Downloaded: https://my.remoterepository.com/nexus/content/repositories/snapshots/org/mainco/subco/first-module/87.0.0-SNAPSHOT/maven-metadata.xml (788 B at 0.9 KB/sec) Downloading: …

11
ข้อผิดพลาด m2e ใน MavenArchiver.getManifest ()
ฉันพบข้อผิดพลาดใน STS ของฉันและไม่แน่ใจว่าจะแก้ไขข้อบกพร่องอย่างไร การค้นหารอบ ๆ ฉันเห็นเพียงการอ้างอิงที่คลุมเครือของข้อผิดพลาดและไม่มีวิธีแก้ไข ข้อผิดพลาดคือ: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) pom.xml/ <maven projectName>บรรทัด 1 ปัญหาการกำหนดค่า Maven คำถาม : ใครสามารถให้คำแนะนำเกี่ยวกับวิธีรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาเพื่อแก้ไขข้อบกพร่องเพิ่มเติมหรือแนวทางแก้ไขที่เป็นไปได้ อาจมีบริบทเพิ่มเติมเกี่ยวกับฟังก์ชันการทำงานของวิธีการ javadoc ที่เกี่ยวข้องกับMavenArchiver.getManifest()เมธอดนั้นไม่มีรายละเอียดมากนักและไม่มีการติดตามสแต็กที่ฉันเห็น ฉันได้ลองรีเฟรชและอัปเดตโครงการและโครงการที่เกี่ยวข้องหลายครั้งรวมถึงการล้าง repo m2 ในพื้นที่ของฉัน ข้อมูล STS : เวอร์ชัน: 3.7.3 รหัสรุ่น: 201602250940 เวที: Eclipse Mars.2 (4.5.2) ข้อมูล m2e : เวอร์ชัน: 1.6.2.20150902-0002

2
เรียกใช้การเรียกใช้ปลั๊กอิน Maven เดียวหรือไม่
ฉันคิดว่าฉันเป็นผู้ใช้ Maven ที่มีประสบการณ์ แต่ฉันมีความคิดที่จะทำสิ่งนี้! ฉันสามารถใช้ปลั๊กอิน Maven sql เพื่อวางสร้างและติดตั้งสคีมาในฐานข้อมูลผ่านการดำเนินการปลั๊กอินที่ฉันกำหนดและผูกไว้กับpre-integration-testเฟส อย่างไรก็ตามตอนนี้ฉันต้องการใช้ปลั๊กอิน sql เดียวกันเพื่อแทรกข้อมูลตัวอย่างเมื่อใดก็ตามที่ฉันต้องการจากบรรทัดคำสั่งนั่นคือไม่ผูกมัดกับเป้าหมายวงจรชีวิตใด ๆ มีชุดข้อมูลตัวอย่างที่แตกต่างกันเล็กน้อยดังนั้นฉันจึงต้องการกำหนดการดำเนินการที่แตกต่างกันเล็กน้อย แต่มีวิธีเรียกใช้หนึ่งในการดำเนินการเหล่านี้จากบรรทัดคำสั่งโดยใช้ ID การดำเนินการหรือไม่?

1
วิธีการแทนที่คุณสมบัติ maven ในบรรทัดคำสั่ง
ฉันมี pom ธรรมดาต่อไปนี้ที่รันโดย Maven 3.0.4 <?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.example</groupId> <artifactId>test</artifactId> <version>1.0</version> <packaging>jar</packaging> </project> I am trying to override default settings in command line like this: mvn -Dproject.build.finalName=build clean package But this this is ignored, and I get test-1.0.jar. I've tried to change another properties, …

13
Maven Out of Memory Build ล้มเหลว
ณ วันนี้การรวบรวม maven ของฉันล้มเหลว [INFO] [ERROR] Unexpected [INFO] java.lang.OutOfMemoryError: Java heap space [INFO] at java.util.Arrays.copyOfRange(Arrays.java:2694) [INFO] at java.lang.String.<init>(String.java:203) [INFO] at java.lang.String.substring(String.java:1877) [ข้อผิดพลาด] หน่วยความจำไม่เพียงพอ เพื่อเพิ่มจำนวนหน่วยความจำให้ใช้แฟล็ก -Xmx เมื่อเริ่มต้น (java -Xmx128M ... ) เมื่อวานนี้ฉันรัน maven compile สำเร็จแล้ว ณ วันนี้ผมเพิ่งชนกองของฉันไป3 GB นอกจากนี้ฉันเปลี่ยนโค้ดเล็กน้อยเพียง 2-3 บรรทัดดังนั้นฉันจึงไม่เข้าใจข้อผิดพลาด 'หน่วยความจำไม่เพียงพอ' นี้ vagrant@dev:/vagrant/workspace$ echo $MAVEN_OPTS -Xms1024m -Xmx3000m -Dmaven.surefire.debug=-Xmx3000m แก้ไข: ฉันลองใช้ความคิดเห็นของผู้โพสต์โดยเปลี่ยน …

6
คุณจัดการกับสแน็ปช็อตที่ประทับเวลา maven-3 อย่างมีประสิทธิภาพได้อย่างไร?
ตอนนี้ maven-3 ได้ยกเลิกการสนับสนุน <uniqueVersion> false </uniqueVersion> สำหรับสิ่งประดิษฐ์สแนปชอตดูเหมือนว่าคุณจำเป็นต้องใช้ SNAPSHOTS ที่ประทับเวลาจริงๆ โดยเฉพาะอย่างยิ่ง m2eclipse ซึ่งใช้ maven 3 ภายในดูเหมือนว่าจะได้รับผลกระทบการอัปเดตสแนปชอตไม่ทำงานเมื่อ SNAPSHOTS ไม่ซ้ำกัน ดูเหมือนแนวทางปฏิบัติที่ดีที่สุดก่อนที่จะตั้งค่าสแนปชอตทั้งหมดเป็น uniqueVersion = false ตอนนี้ดูเหมือนว่าจะไม่มีปัญหาใหญ่ที่จะเปลี่ยนไปใช้เวอร์ชันที่ประทับเวลาหลังจากทั้งหมดได้รับการจัดการโดยที่เก็บส่วนกลางของ nexus ซึ่งสามารถลบภาพรวมเก่าในช่วงเวลาปกติได้ ปัญหาคือเวิร์กสเตชันของนักพัฒนาท้องถิ่น พื้นที่เก็บข้อมูลในท้องถิ่นของตนได้อย่างรวดเร็วไม่เติบโตมากขนาดใหญ่ที่มีภาพรวมที่ไม่ซ้ำกัน จะจัดการกับปัญหานี้อย่างไร? ตอนนี้ฉันเห็นวิธีแก้ไขที่เป็นไปได้ต่อไปนี้: ขอให้นักพัฒนาล้างที่เก็บข้อมูลเป็นระยะ ๆ (ซึ่งนำไปสู่ความยุ่งยากมากมายเนื่องจากต้องใช้เวลานานในการลบและดาวน์โหลดทุกอย่างที่จำเป็นนานขึ้น) ตั้งค่าสคริปต์บางส่วนซึ่งจะลบไดเร็กทอรีSNAPSHOTทั้งหมดออกจากที่เก็บในเครื่องและขอให้นักพัฒนาเรียกใช้สคริปต์นั้นเป็นครั้งคราว (ดีกว่าครั้งแรก แต่ก็ยังใช้เวลาพอสมควรในการเรียกใช้และดาวน์โหลดสแนปชอตปัจจุบัน) ใช้การอ้างอิง: ปลั๊กอิน purge-local-repository (มีปัญหาเมื่อเรียกใช้จาก eclipse เนื่องจากไฟล์ที่เปิดอยู่จำเป็นต้องเรียกใช้จากแต่ละโครงการ) ตั้งค่าเน็กซัสในทุกเวิร์กสเตชันและตั้งค่างานเพื่อล้างสแน็ปช็อตเก่า (ผลลัพธ์ที่ดีที่สุด แต่ฉันไม่ต้องการดูแลเซิร์ฟเวอร์ nexus มากกว่า 50+ เซิร์ฟเวอร์รวมทั้งหน่วยความจำในเวิร์กสเตชันของนักพัฒนาซอฟต์แวร์จะแน่น) หยุดใช้ SNAPSHOTS เลย …
87 java  maven-3 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.