2012-03-05 8 views
5

बनाएं मेरे पास एक वेब एप्लिकेशन है जो कई मॉड्यूल पर निर्भर करता है। तो इसे बनाने के लिए, मेरे पास एक मास्टर pom.xml फ़ाइल है। मैं चाहता हूं कि यह पोम फ़ाइल सभी मॉड्यूल को चेकआउट करना है। नीचे मेरी पोम फ़ाइल है। चेकआउट और mvn एससीएम:वेब अनुप्रयोग के सभी मॉड्यूल को चेकआउट करने के लिए मास्टर पोम फ़ाइल का उपयोग कैसे करें और सभी मॉड्यूल

 <executions> 
     <execution> 
        <id>check-out-project1</id> 
        <phase>generate-sources</phase> 
        <goals> 
        <goal>checkout</goal> 
        </goals> 
        <configuration>  
        <checkoutDirectory>${project.build.directory}/module1</checkoutDirectory> 
        <connectionUrl>scm:svn:svn://svnserver/svn/module1/trunk</connectionUrl> 
        <!--<developerConnection>scm:svn:svn://svnserver/svn/module1/trunk</developerConnection>!--> 
        <username>username</username>        
        <password>password</password>    
        </configuration> 
     </execution> 

      <execution> 
        <id>check-out-project2</id> 
        <phase>generate-sources</phase> 
        <goals> 
        <goal>checkout</goal> 
        </goals> 
        <configuration>  
        <checkoutDirectory>${project.build.directory}/module1</checkoutDirectory> 
        <connectionUrl>scm:svn:svn://svnserver/svn/module1/trunk</connectionUrl> 
          <username>username</username>        
          <password>password</password>    
        </configuration> 
      </execution> 
     </executions> 

मैं mvn एससीएम की कोशिश की है चेकआउट की जाँच करें बाहर Project1 लेकिन यह मुझे त्रुटि दे: चेकआउट आदेश चला नहीं कर सकता: scm प्रदाता लोड नहीं कर सकता । आपको कनेक्शन यूआरएल पैरामीटर को परिभाषित करने की आवश्यकता है।

मुझे समझ नहीं आता क्यों यह हो रहा है के बाद से मैं पोम फ़ाइल के अंदर परिभाषित पहले से ही, विचारों का कहना है कि मैं पोम में कई परियोजनाओं चेकआउट करने के लिए सक्षम होने के लिए कॉन्फ़िगर किया गया फ़ाइल चल रहा है करने के लिए प्राप्त करना चाहते हैं connectionUrl पैरामीटर उसी समय। कृपया मुझे बताएं कि मैं यहां क्या कर रहा हूं, अग्रिम धन्यवाद।

+0

क्या आपके पास अपनी कलाकृतियों को प्रकाशित करने के लिए एक मैवेन रिपोजिटरी है? मुझे लगता है कि आपको अपनी मुख्य असेंबली में उपयोग करने से पहले निर्भरता मॉड्यूल को पूर्व-निर्माण (और परीक्षण) रखने का प्रयास करना चाहिए। यहां तक ​​कि यदि आप बस अपने स्थानीय ~/.m2 repo का उपयोग कर रहे हैं। यह आपको मेवेन-निर्भरता-प्लगइन का उपयोग करने और सीधे संकलित और परीक्षण किए गए कलाकृतियों को डाउनलोड करने में सक्षम होना चाहिए (मान लें कि आपके पास परीक्षण हैं)। – hovanessyan

उत्तर

2

मैं एक ही स्थिति के लिए का सामना करना पड़ा है और मैं एक समाधान के लिए अपने कोड उपयोग करना पाया: cmd सांत्वना यह काम किया है पर डी कि अपने कंप्यूटर पर काम करता है::

<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>de.xxx.internet</groupId> 
    <artifactId>my-app</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>Maven Quick Start Archetype</name> 
    <url>http://www.mySite.de</url> 
    <scm> 
     <connection>scm:svn:http://svn-repo-adress:8080/repo/myDirectory</connection> 
     <developerConnection>http://svn-repo-adress:8080/repo/myDirectory</developerConnection> 
     <tag>HEAD</tag> 
     <url>http://svn-repo-adress:8080/repo/myDirectory</url> 
    </scm> 
    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-scm-plugin</artifactId> 
       <version>1.6</version> 
       <configuration> 
       <goals>checkout</goals> 
       <checkoutDirectory>target/checkout</checkoutDirectory> 
       <username>username</username> 
       <password>userpassword</password> 
       </configuration> 
       <executions> 
       <execution> 
        <id>check-out-project1</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>checkout</goal> 
        </goals> 
       </execution> 
      </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

बाद मैं मार डाला "चेकआउट mvn SCM" ।

मुझे लगता है कि निर्माण टैग निष्पादित करने से पहले, महत्वपूर्ण बिंदु एससीएम टैग जोड़ना था।

2

मुझे पता चला कि यदि प्रत्येक चेकआउट को अपने <execution> ... </execution> में रखता है और जगह के भीतर व्यक्तिगत <configuration> ... </configuration> उनके लिए काम करता है। उदाहरण के लिए:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-scm-plugin</artifactId> 
      <version>1.9.4</version> 
      <executions> 
       <execution> 
        <id>repo1-dependency</id> 
        <phase>generate-sources</phase> 
        <configuration> 
         <connectionUrl>${my.repo1.url}</connectionUrl> 
         <scmVersion>${my.repo1.branch}</scmVersion> 
         <scmVersionType>branch</scmVersionType> 
         <checkoutDirectory>${project.build.directory}/${my.repo1}-${my.repo1.branch}</checkoutDirectory> 
        </configuration> 
        <goals> 
         <goal>checkout</goal> 
        </goals> 
       </execution> 
       <execution> 
        <id>repo2-dependency</id> 
        <phase>generate-sources</phase> 
        <configuration> 
         <connectionUrl>${my.repo2.url}</connectionUrl> 
         <scmVersion>${my.repo2.branch}</scmVersion> 
         <scmVersionType>branch</scmVersionType> 
         <checkoutDirectory>${project.build.directory}/${my.repo2}-${my.repo2.branch}</checkoutDirectory> 
        </configuration> 
        <goals> 
         <goal>checkout</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
+0

क्या आपने अपनी पूरी पोम फ़ाइल पोस्ट की है जैसा कि मैंने कोशिश की है और मुझे केवल 1 निष्पादन मिलता है और यह एससीएम टैग जानकारी का उपयोग करता है, कॉन्फ़िगरेशन से कनेक्शन यूआरएल नहीं। – mario

संबंधित मुद्दे

 संबंधित मुद्दे