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

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

4
มีวิธียกเว้นการพึ่งพา Maven ทั่วโลกหรือไม่?
ฉันกำลังพยายามหาวิธี "ทั่วไป" ในการยกเว้นการพึ่งพาสกรรมกริยาจากการรวมโดยไม่ต้องแยกออกจากการอ้างอิงทั้งหมดที่ขึ้นอยู่กับมัน ตัวอย่างเช่นหากฉันต้องการยกเว้น slf4j ฉันทำสิ่งต่อไปนี้: <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-jmx</artifactId> <version>3.3.2.GA</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.4.0.GA</version> <type>jar</type> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> นี่เป็นส่วนหนึ่งในการล้างไฟล์ pom ส่วนหนึ่งเพื่อหลีกเลี่ยงปัญหาในอนาคตเมื่อมีคนเพิ่มการอ้างอิงซึ่งขึ้นอยู่กับการพึ่งพาที่ยกเว้นนั้นและลืมที่จะยกเว้น มีวิธีไหม?

3
จะปรับใช้ SNAPSHOT กับซอร์สและ JavaDoc ได้อย่างไร
ฉันต้องการปรับใช้ซอร์สและ Javadocs ด้วยสแนปชอตของฉัน ซึ่งหมายความว่าฉันต้องการทำให้คำสั่งต่อไปนี้เป็นอัตโนมัติ: mvn clean source:jar javadoc:jar deploy เพียงเพื่อดำเนินการ: mvn clean deploy ฉันไม่ต้องการให้มีการสร้าง javadoc / แหล่งที่มาในระหว่างinstallขั้นตอน (เช่นการสร้างในเครื่อง) ฉันรู้ว่าปลั๊กอิน source / javadoc สามารถซิงโครไนซ์กับการทำงานของreleaseปลั๊กอินได้ แต่ฉันไม่สามารถหาวิธีเชื่อมต่อกับการเผยแพร่สแน็ปช็อตได้

8
การตั้งค่า Java heap space ภายใต้ Maven 2 บน Windows
ฉันได้รับข้อความนี้ระหว่างการสร้างโครงการของฉัน java.lang.OutOfMemoryError: พื้นที่ฮีป Java ฉันจะเพิ่มพื้นที่ฮีปได้อย่างไรฉันมี 8Gb หรือ RAM มันเป็นไปไม่ได้เลยที่ maven กินมากขนาดนั้นฉันพบhttp://vikashazrati.wordpress.com/2007/07/26/quicktip-how-to-increase-the -java-heap-memory-for-maven-2-on-linux /วิธีทำบน linux แต่ฉันใช้ windows 7 จะเปลี่ยน java heap space ใต้ windows ได้อย่างไร?
91 maven-2 

7
เราสามารถเริ่มสร้าง maven จากจุดที่มันล้มเหลวได้หรือไม่
สมมติว่าฉันกำลังสร้างเต็มรูปแบบในโครงการขนาดใหญ่ของฉันซึ่งมี 7 โมดูลและในโมดูลที่ 6 การสร้างล้มเหลวเนื่องจากการทดสอบล้มเหลว มีวิธีใดบ้างที่ฉันสามารถเริ่มการสร้างจากจุดที่ล้มเหลว
91 java  maven-2 

3
สิ่งประดิษฐ์ใดสำหรับ org.springframework.mail
ฉันต้องการใช้สปริงรองรับในการส่งอีเมล โครงการของฉันถูกสร้างขึ้นด้วย Maven-2 และฉันจะใช้ฤดูใบไม้ผลิ-core 2.5.5 ผมพยายามที่จะมองใน Maven repo กลางสำหรับสิ่งประดิษฐ์ที่จะรวมอยู่ใน pom.xml ของฉันและเป็นคนเดียวที่ฉันพบคือการสนับสนุนในฤดูใบไม้ผลิ ปัญหาคือเวอร์ชันสูงสุดใน repo คือ 2.0.8 และขึ้นอยู่กับ spring-core v. 2.0.8 ฉันควรเพิ่มและแยกออกจากการอ้างอิงสปริงคอร์สปริงออปและอื่น ๆ หรือฉันควรมองหาสิ่งประดิษฐ์อื่น (แต่จะทำอะไร) หรือใช้ repo อื่น สิ่งใดคือสิ่งประดิษฐ์ maven-2 ที่เหมาะสมสำหรับ org.springframework.mail และฉันจะหาได้ที่ไหน

8
Maven ไม่รู้จักโมดูลพี่น้องเมื่อรัน mvn dependency: tree
ฉันกำลังพยายามตั้งค่าโครงการ Maven แบบหลายโมดูลและดูเหมือนว่าการพึ่งพาระหว่างโมดูลนั้นไม่ได้รับการตั้งค่าอย่างถูกต้อง ฉันมี: <modules> <module>commons</module> <module>storage</module> </modules> ใน POM แม่ (ซึ่งมีปอมชนิดบรรจุภัณฑ์) และไดเร็กทอรีย่อยcommons/และstorage/กำหนด JAR poms ที่มีชื่อเดียวกัน การจัดเก็บขึ้นอยู่กับคอมมอนส์ ในไดเร็กทอรีหลัก (หลัก) ฉันเรียกใช้mvn dependency:treeและดู: [INFO] Building system [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree {execution: default-cli}] [INFO] domain:system:pom:1.0-SNAPSHOT [INFO] \- junit:junit:jar:3.8.1:test [INFO] ------------------------------------------------------------------------ [INFO] Building commons [INFO] task-segment: [dependency:tree] [INFO] ------------------------------------------------------------------------ [INFO] [dependency:tree …

13
ฉันจะตั้งค่าอ็อพชัน eclipse.ini -vm ได้อย่างไร?
ฉันติดตั้งปลั๊กอินMavenสำหรับEclipseแล้วฉันได้รับข้อผิดพลาดดังต่อไปนี้: โปรดตรวจสอบให้แน่ใจว่าอ็อพชัน -vm ใน eclipse.ini ชี้ไปที่ JDK ฉันจะใช้-vmตัวเลือกเพื่อชี้ไปที่ JDK ของฉันใน eclipse.ini ได้อย่างไร


11
ไม่สามารถใช้ Intellij กับโฟลเดอร์ซอร์สที่สร้างขึ้น
คำถามที่เกี่ยวข้อง จะกำหนดค่า IntelliJ IDEA และ / หรือ Maven ให้เพิ่มไดเร็กทอรีโดยอัตโนมัติด้วยซอร์สโค้ด Java ที่สร้างโดยใช้ jaxb2-maven-plugin ได้อย่างไร? ฉันมีปลั๊กอินแบบกำหนดเองที่สร้างแหล่งที่มาภายใต้target/generated-sources(หมายเหตุไม่มีชื่อเครื่องมือที่นี่) ดังนั้นฉันจึงได้รับแหล่งข้อมูลเช่นtarget/generated-sources/com/mycompany... ฯลฯ รูปแบบนี้ไม่สามารถเปลี่ยนแปลงได้เลยดังนั้นฉันจะสามารถกำหนดค่า Intellij ให้เพิ่มเป็นโฟลเดอร์ต้นทางได้ ณ ตอนนี้ฉันเห็นว่า Intellij ได้เพิ่มtarget/generated-sources/comเป็นโฟลเดอร์ต้นทางแล้ว โปรดทราบว่าฉันไม่มีตัวเลือกในการกำหนดค่าปลั๊กอิน! อัปเดต 1 : ฉันไม่เห็นด้วยกับการที่ฉันต้องใส่ซอร์สที่สร้างขึ้นภายใต้โฟลเดอร์ชื่อเครื่องมือ มันอาจจะเป็นหลักการที่ดี แต่ถ้าฉันมีเครื่องกำเนิดไฟฟ้าเพียงเครื่องเดียวฉันไม่จำเป็นต้องวางมันไว้ที่นั่น? อีกครั้งใน pom.xml ของฉันฉันมีresourcesส่วนที่ระบุอย่างชัดเจนว่าtarget/generated-sourcesควรถือเป็นโฟลเดอร์ต้นทาง สิ่งนี้ทำงานได้ดีอย่างสมบูรณ์ใน Eclipse ดังนั้นฉันจึงไม่รู้ว่าทำไม Intellij ถึงไม่เคารพการตั้งค่าของฉัน TL; DR -> เมื่อฉันใส่target/generated-sourcesในส่วนทรัพยากรpom.xmlว่าทำไม Intellij ถึงต้องเพิ่มลงtarget/generated-sources/comใน classpath มากเกินไป

18
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
ฉันใช้spring 3.1.0.RELEASEและคอนเทนเนอร์ servlet ของฉันคือtomcat 7และ IDE ของฉันคือeclipse indigo และ jar spring-webmvc-3.1.0.RELEASE.jarซึ่งมีDispatcherServlet อยู่ในโฟลเดอร์ lib และเมื่อ เรียกใช้แอปพลิเคชันฉันได้รับข้อยกเว้น: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:126) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284) at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) โปรดแจ้งว่าเหตุใดฉันจึงได้รับข้อยกเว้นนี้และวิธีแก้ไข แก้ไข: ต่อไปนี้เป็นไฟล์การกำหนดค่าของฉัน: …

3
ฉันจะเปลี่ยนชื่อสงครามที่สร้างโดยปลั๊กอินแอสเซมบลีของ maven ได้อย่างไร
ฉันจะเปลี่ยนชื่อจาก1.0.snapshot-jar-with-dependenciesเป็นอย่างอื่นได้อย่างไรด้านล่างนี้คือเนื้อหาของ POM ของฉัน: <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2-beta-5</version> <configuration> <archive> <manifest> <mainClass>com.package.example.MainClass</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>
87 maven-2 

5
จะอัพเดตที่เก็บ maven ใน Eclipse ได้อย่างไร?
สมมติว่าคุณใช้ปลั๊กอิน m2eclipseอยู่แล้วคุณจะทำอะไรได้บ้างเมื่อไม่อัปเดตการอ้างอิงเป็นข้อมูลล่าสุดใน repo ของคุณ ตัวอย่างเช่นในบรรทัดคำสั่งคุณสามารถเพิ่ม-Uแฟล็กในรูปแบบ mvn clean install -U …เพื่อบังคับให้มีการอัปเดตการอ้างอิง ภายใน Eclipse มีสิ่งนี้หรือไม่? (ดูเหมือนจะไม่ได้รับการอัปเดตล่าสุดเสมอไป)

3
การพึ่งพาการทดสอบ Maven ในโครงการหลายโมดูล
ฉันใช้ maven เพื่อสร้างโครงการหลายโมดูล โมดูล 2 ของฉันขึ้นอยู่กับโมดูล 1 src ที่ขอบเขตการคอมไพล์และการทดสอบโมดูล 1 ในขอบเขตการทดสอบ โมดูล 2 - <dependency> <groupId>blah</groupId> <artifactId>MODULE1</artifactId> <version>blah</version> <classifier>tests</classifier> <scope>test</scope> </dependency> ใช้งานได้ดี สมมติว่าโมดูล 3 ของฉันขึ้นอยู่กับ Module1 src และการทดสอบในเวลาคอมไพล์ โมดูล 3 - <dependency> <groupId>blah</groupId> <artifactId>MODULE1</artifactId> <version>blah</version> <classifier>tests</classifier> <scope>compile</scope> </dependency> เมื่อฉันรันบิลmvn clean installด์ของฉันจะทำงานจนถึงโมดูล 3 ล้มเหลวที่โมดูล 3 เนื่องจากไม่สามารถแก้ไขการพึ่งพาการทดสอบโมดูล 1 ได้ จากนั้นฉันทำmvn installในโมดูล 3 …

1
ใช้ Maven สำหรับโปรเจ็กต์ C / C ++
ฉันกำลังวาง Maven ไว้รอบ ๆ กลุ่มมือสมัครเล่นเขียนไม่ดีและตรงไปตรงมา - รหัส C / C ++ ดั้งเดิม (หมายถึง C บางตัว C ++ บางตัว) ปัญหาคือ - มีสินค้าหมุนเวียนอยู่มากมายและไม่สามารถเปลี่ยนใหม่ได้ง่ายๆ การสร้างมันต้องใช้ความรู้เกี่ยวกับชนเผ่าจำนวนมาก (คุณต้องเปลี่ยนจากคิวบ์ไปยังคิวบ์เพื่อค้นหาวิธีรวบรวม / สร้างชิ้นส่วนต่างๆ) และการปลดปล่อยนั้นเป็นฝันร้ายทั้งหมด (ไม่ - ฉันจะไม่เขียนมันใหม่โปรดอย่าถาม) คำถามของฉันคือ - ฉันควรใช้maven-native-pluginเพื่อแทนที่ makefiles สั้น ๆ จำนวนมากหรือใช้exec-maven-pluginเพื่อดำเนินการเหล่านี้? ฉันมีประสบการณ์ที่ดีมากกับการทำ. NET และไม่รู้ว่าฉันควรลงทุนกับnativeปลั๊กอินหรืออยู่กับexec? หากคุณเคยมีประสบการณ์กับ C / C ++ "Mavenizing" ฉันยินดีที่จะรับคำแนะนำ

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