2011-05-05 8 views
8

मैं ग्रहण और मेवेन के साथ काम कर रहा हूं और मैवेन जेट्टी प्लगइन का उपयोग करके अपना आवेदन चलाता हूं।मैवेन जेटटी का उपयोग करते समय: रन - क्या संकलन चरण को अक्षम करना संभव है?

मुझे यह हल्का परेशान लगता है कि जब भी मैं जेटी निष्पादित करता हूं तो मैवेन मेरी फ़ाइलों को दोबारा चलाने पर जोर देती है: रन। यह उप-इष्टतम है, क्योंकि फाइलें पहले ही ग्रहण द्वारा संकलित की गई हैं (और मैं स्कैला लिख ​​रहा हूं जिसमें एक (अपेक्षाकृत) धीमी संकलक है)।

मैं प्रोफाइल का उपयोग कर रहा हूं, और एमवीएन जेटटी चलाता हूं: मेरे 'विकास' प्रोफाइल के तहत चलाएं।

मुझे क्या करना चाहते हैं:

घाट प्लगइन कॉन्फ़िगर करें, ताकि यह विकास प्रोफ़ाइल के तहत चल रहा है जबकि संकलन चरण को छोड़ देता है।

मैं Maven जीवन चक्र प्रलेखन देखा लेकिन एक 'skip.compile' ध्वज या विन्यास पैरामीटर बारे में कोई जानकारी नहीं मिली है।

मैंने व्यर्थ धारणा में मैवेन को कॉन्फ़िगर करने का भी प्रयास किया है कि यह मैवेन-जेटी-प्लगइन स्टार्टअप पर पुन: संकलन को रोक देगा।

मैं गलत था, यह काम नहीं किया। लेकिन मैंने जो सोचा है, शायद स्कैला संकलक समस्या है। शायद यह संकलन सामान को अनदेखा करता है।

विकास Maven-संकलक प्लगइन डिफ़ॉल्ट-testCompile परीक्षण संकलन डिफ़ॉल्ट-संकलन संकलन 1,6 1,6 झूठी org.mortbay.jetty घाट-Maven-प्लगइन 7.2.2।v20101205 सच विकास

अद्यतन:

मैं स्केला संकलन

+0

जहां तक जेटी को रोकने की ज़रूरत नहीं है ... और ग्रहण के भीतर परिवर्तन करें ... मेवेन-जेट्टी प्लगइन में गहराई से देखो .. – khmarbaise

+0

खम्बाबाइज, मैंने स्कैनिंग को पहले ही अक्षम कर दिया है क्योंकि मैं जेबेल का उपयोग कर संकलन कर रहा हूं। मैंने प्लगइन में एक बहुत गहरी नजर डाली है या अन्यथा मैं यहां नहीं रहूंगा। जेटी के फोर्क संकलन चरण को अक्षम करने के लिए इसकी क्या आवश्यकता है: रन –

उत्तर

-1

अक्षम करने यदि आप कहते हैं कि कक्षाएं पहले से ही द्वारा संकलित किया गया है विशेष रूप से कोशिश करने जा रहा हूँ ग्रहण, recompiling के लिए दो संभावित कारण हैं:

  • आप clean का आविष्कार कर रहे हैं या किसी भी तरह संकलित कक्षाओं को हटा रहे हैं;
  • ग्रहण के लिए आउटपुट फ़ोल्डर मैवेन के आउटपुट फ़ोल्डर के समान नहीं है।

तो आपको या तो अपने संकलित कक्षाओं को हटाने या ग्रहण और मेवेन को उसी आउटपुट फ़ोल्डर का उपयोग करने के लिए कॉन्फ़िगर करने की आवश्यकता है।

MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE" 

ऊपर मेरे लिए काम किया:

+1

नहीं, यह कारण नहीं है। कारण यह है कि जेटी: रन गोल हर बार शुरू होने पर संकलन करता है। मैंने इस समस्या को हल कर लिया है, अब समाधान पोस्ट करेगा। –

2

समाधान के एक पर्यावरण चर सेट करने के लिए है।

इंटरनेट पर कहीं और यह रूप में वर्णित है:

MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y" 
+0

मेरा कोड, संकलन, परीक्षण, चक्र ज्यादा स्वीकार्य नहीं है! –

+0

हालांकि यह काम पर दिखाई दिया, लेकिन वास्तव में ऐसा नहीं हुआ। ड्रॉइंग बोर्ड पर वापस। –

+0

अन्य भाग –

9

अंत में इसे हल .. @RobertMunteanu

वाह! खैर मैंने आखिरकार यह पता लगाया है कि मैं क्या गलत कर रहा था, समाधान विकास और उत्पादन प्रोफ़ाइल बनाना है, और विकास प्रोफ़ाइल के लिए स्कैला प्लगइन निष्पादन को कुछ भी करने के लिए कॉन्फ़िगर नहीं किया गया है।

तो जैसा:

<profile> 
    <id>development</id> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.scala-tools</groupId> 
     <artifactId>maven-scala-plugin</artifactId> 
     <executions> 
      <execution> 
      <id>compile</id> 
      <goals></goals> 
      <phase>compile</phase> 
      </execution> 
      <execution> 
      <id>test-compile</id> 
      <goals></goals> 
      <phase>test-compile</phase> 
      </execution> 
      <execution> 
      <id>default-testCompile</id> 
      <phase>test-compile</phase> 
      <goals></goals> 
      </execution> 
      <execution> 
      <id>default-compile</id> 
      <phase>compile</phase> 
      <goals></goals> 
      </execution> 
      <execution> 
      <phase>process-resources</phase> 
      <goals> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
0

कुछ शोध करने के बाद, समस्या घाट प्लगइन के साथ नहीं है, लेकिन Maven-संकलक प्लगइन के साथ। IncrementalCompilation में एक बग है। यह stackoverflow प्रश्न और उत्तर देखें: Maven compiler plugin always detecting a set of sources as "stale"

निम्न कॉन्फ़िगरेशन मेरे लिए अच्छा काम करता है; यह घाट का एक बहुत ही तुरंत पुनः प्रारंभ जब कोड न्यूनतम रखता साथ बदल गया है के लिए अनुमति देता है, और यह पुन: संयोजित नहीं करता है तो आप पहले से ही तैयार की है: के रूप में मुझे पता है आप समय-समय पर और इसलिए आप स्कैन करने के लिए घाट प्लगइन कॉन्फ़िगर कर सकते हैं

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.1</version> 
    <configuration> 
     <source>1.6</source> 
     <target>1.6</target> 
     <encoding>UTF-8</encoding> 
     <debug>${compile.debug}</debug> 
     <useIncrementalCompilation>false</useIncrementalCompilation> 
      </configuration> 
</plugin> 
    <plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.26</version>  
       <configuration> 
       <contextPath>/</contextPath>      
       <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory> 
       <scanIntervalSeconds>2</scanIntervalSeconds> 
       <scanTargets> 
        <scanTarget>src/main/java</scanTarget> 
       </scanTargets>      
      </configuration>    
</plugin> 
संबंधित मुद्दे