मैं अपने निरंतर एकीकरण नौकरी (हडसन) को दो चरणों में विभाजित करना चाहता हूं। (क्योंकि निर्माण और रिपोर्टिंग के साथ रनटाइम बहुत लंबा लगता है।) पहली नौकरी में, मैं अपना बहु मॉड्यूल मेवेन प्रोजेक्ट "एमवीएन पैकेज" सफलतापूर्वक बना देता हूं। फिर मैं अपने वर्कस्पेस को किसी अन्य स्थान पर कॉपी करता हूं और रिपोर्ट बनाने के लिए केवल "साइट" और/या findbugs/checkstyle/pmd के साथ प्रोजेक्ट बनाने का प्रयास करता हूं। लेकिन यह काम नहीं करता है! मेवेन मेरे submodules की निर्भरता को हल नहीं कर सकता है। (लेकिन सभी जार अपने लक्ष्य फ़ोल्डर में उपलब्ध हैं।)बहु मॉड्यूल प्रोजेक्ट पर मेवेन साइट निर्भरता को हल नहीं कर सका
उदाहरण: मेरे संरचना इस तरह दिखता है:
- जनक
- एक
- बी
- सी
- डी
परियोजना सी निर्भरता परियोजना बी
के रूप में है जब मैं "mvn साइट" के साथ सब कुछ का निर्माण, यह परियोजना ए और बी सभी रिपोर्ट्स के लिए उत्पन्न करता है। लेकिन प्रोजेक्ट सी पर त्रुटि संदेश के साथ रुक गया "परियोजना बी के लिए निर्भरताओं को हल नहीं कर सका" लेकिन प्रोजेक्ट बी पहले ही "एमवीएन पैकेज" के साथ बनाया गया है। अर्थात। मैं अपने लक्षित फ़ोल्डर में प्रोजेक्ट बी की जेएआर फ़ाइल पा सकता हूं।
क्या "एमवीएन इंस्टॉल" के बिना सबमिशन बी से निर्भरता को हल करने का कोई तरीका है? (। मैं चाहता हूँ मुझे डर है यह एक ही कोड बेस के साथ अन्य नौकरियों के लिए खतरनाक हो सकता है मेरी ci सर्वर पर ऐसा नहीं करते हैं।)
अद्यतन 08/20/12:
जड़ का पोम फ़ोल्डर:
<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>
<name>Foo</name>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>parent</module>
</modules>
</project>
जनक पोम:
<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>
<name>Foo</name>
<groupId>foo</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
<module>../bar-a</module>
<module>../bar-b</module>
<module>../bar-c</module>
<module>../bar-d</module>
</modules>
[...]
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.1</version>
[...]
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.7.1</version>
[...]
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
[...]
</plugin>
</plugins>
</reporting>
</project>
बी के पोम :
<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>
<parent>
<groupId>foo</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<relativePath>../parent</relativePath>
</parent>
<name>Bar B</name>
<artifactId>bar-b</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
[...]
</project>
सी के पोम:
<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>
<parent>
<groupId>foo</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<relativePath>../parent</relativePath>
</parent>
<name>Bar C</name>
<artifactId>bar-c</artifactId>
<packaging>jar</packaging>
[...]
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar-b</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
[...]
</project>
पोम के बिना अनुमान लगाना मुश्किल है ... लेकिन ऐसा लगता है कि निर्भरता/मॉड्यूल सही ढंग से कॉन्फ़िगर नहीं किया गया है। एमवीएन स्वच्छ साइट त्रुटियों के बिना चलना चाहिए। – khmarbaise
क्या कोई एमवीएन क्लीन पैकेज त्रुटियों के बिना भी चलता है? – khmarbaise
हां। "एमवीएन क्लीन पैकेज" त्रुटियों के बिना चलता है। "एमवीएन स्वच्छ साइट" नहीं। मैं बाद में एक कोड स्निपेट अपलोड करें। – user1606528