दिलचस्प पोस्ट
एक बहु-फ़ाइल जाने वाली परियोजना को व्यवस्थित करना गतिशील कॉलम के साथ MySQL धुरी तालिका क्वेरी Mongoid और mongodb के साथ संबंधों के माध्यम से has_many: कैसे कार्यान्वित करें? कीबोर्ड पर खाली क्षेत्र को iPhone पर छुआ जाने पर कीबोर्ड को कैसे छुपाना है Data.frames की एक सूची को एक एकल डेटा फ्रेम में दोबारा जोड़ने ऑनलाइन आने के लिए लक्ष्य डिवाइस की प्रतीक्षा कर रहा है QR कोड स्कैनर स्क्रॉल दिशा का पता लगा रहा है वसंत-डेटा-मोंगोडब बहु-किरायेदार बनाना सी # में मैं डायरेक्ट्री आकार (निर्देशिका में फाइलें) कैसे प्राप्त करूं? त्रुटि को ठीक कैसे करें: प्रारंभिक स्ट्रिंग का प्रारूप सूचकांक से शुरू होने वाले विनिर्देशों के अनुरूप नहीं है :: सक्रिय उपयोगकर्ता के उपयोगकर्ता कैसे प्राप्त करें Details Php स्क्रिप्ट के दोहरे उद्धरण गूंज पैरामीटर के साथ सजावटी? कैसे पता कैसे एक सरणी में जावास्क्रिप्ट / jQuery में एक विशिष्ट स्ट्रिंग है?

मेवेन परियोजनाओं के बीच परीक्षण संसाधनों को साझा करें

maven-jar-plugin प्लगइन के test-jar लक्ष्य का उपयोग करके मेवेन परियोजनाओं के बीच आम परीक्षण कोड साझा करने के लिए एक स्पष्ट समाधान है ( यहां देखें)।

मुझे परीक्षण संसाधनों के साथ भी इसी तरह की आवश्यकता है, विशेष रूप से, मैं परियोजना ए के परीक्षण संसाधनों को परीक्षण के दौरान प्रोजेक्ट बी के कक्षापथ में उपलब्ध होना चाहता हूं।

परियोजना के लिए किसी को घोषित करना होगा:

 <!-- Package and attach test resources to the list of artifacts: --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <jar destfile="${project.build.directory}/test-resources.jar"> <fileset dir="${project.basedir}/test-resources" /> </jar> </tasks> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${project.build.directory}/test-resources.jar</file> <type>jar</type> <classifier>test-resources</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> 

और प्रोजेक्ट बी में यह सामान्य निर्भरता होगी:

 <dependency> <groupId>myproject.groupId</groupId> <artifactId>myartifact</artifactId> <version>1.0-SNAPSHOT</version> <classifier>test-resources</classifier> <scope>test</scope> </dependency> 

प्रश्न: क्या यह सभी मामलों में काम करना चाहिए? क्या maven-antrun-plugin बिना संसाधनों को पैक करना संभव है (अधिक 'हल्के' प्लगइन का उपयोग करना)?

Solutions Collecting From Web of "मेवेन परियोजनाओं के बीच परीक्षण संसाधनों को साझा करें"

बस jar:test-jar प्रयोग करें jar:test-jar और परिणामस्वरूप जेएआर को निर्भरता के रूप में घोषित करें (अधिक जानकारी के लिए इस गाइड देखें)। और जब मैं इस जार में संसाधनों और कक्षाओं की समस्या को समझ नहीं पा रहा हूं, तो आप हमेशा सभी .class फ़ाइलों को बाहर कर सकते हैं:

 <project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> <configuration> <excludes> <exclude>**/*.class</exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> 

और इसका इस्तेमाल करने के लिए:

 <project> ... <dependencies> <dependency> <groupId>com.myco.app</groupId> <artifactId>foo</artifactId> <version>1.0-SNAPSHOT</version> <type>test-jar</type> <scope>test</scope> </dependency> </dependencies> ... </project> 

मेवेन से परीक्षण जार बनाने का एक लक्ष्य पहले से ही है।

यह मानते हुए कि आपको थोड़ा और लचीलापन की आवश्यकता है, आप अपने परीक्षण संसाधनों को पैकेज करने के लिए जार प्लगइन का उपयोग कर सकते हैं और उस लक्ष्य को मुख्य पैकेज लक्ष्य से इस तरह से कुछ के साथ चला सकते हैं।

  <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>test-resources</classifier> <includes> <include>**/*.whatever-you-want</include> </includes> </configuration> </execution> </executions> </plugin> 

जो कुछ भी आप चाहते हैं वह परियोजना-नाम-संस्करण-परीक्षण-संसाधनों में जोड़ा जाएगा। जब जार का लक्ष्य चलाया जाता है।

इसके बाद आप उस प्रोजेक्ट में उसी निर्भरता के माध्यम से शामिल कर सकते हैं जो आप ऊपर उपयोग करते हैं