2012-06-07 14 views
12

वर्तमान में मैं ग्रहण चला रहा हूं और एक ही समय में (रन के साथ) खेल रहा हूं। जब मैं एक फ़ाइल बदलता हूं तो इसे प्ले और ग्रहण द्वारा संकलित किया जाएगा।क्या play2 और ग्रहण चलाने पर मैं दो बार संकलन स्रोतों से बच सकता हूं?

क्या उन दो संकलन चरणों में से एक से बचना संभव है?

जहां तक ​​मुझे पता है, ग्रहण प्लगइन परियोजना बनाने के लिए एसबीटी का भी उपयोग करता है, तो शायद ग्रहण के अंदर "रन" कमांड को निष्पादित करने का कोई तरीका है?

(क्योंकि मेरे लैपटॉप बहुत तेजी से नहीं है और संकलन कुछ समय लगता है, और मैं "फास्ट बदलाव" के रूप में खेलने के वेबपेज पर विज्ञापित करना चाहते हैं मैं पूछ रहा हूँ;)

+0

http://stackoverflow.com/questions/4803283/eclipse-how-to-turn-off-dynamic-compilation-error-checking –

+0

एचएम का संभावित डुप्लिकेट, मुझे नहीं लगता कि यह एक डुप्लिकेट प्रश्न है। मैं ग्रहण की विशेषताओं को बंद नहीं करना चाहता - अगर मैं चाहता था कि मैं सिर्फ एक टेक्स्ट एडिटर का उपयोग कर सकूं। – peq

उत्तर

5

आप बंद Build Automatically से बदल सकते हैं आईडीई कार्यक्षमता खोने के बिना Project मेनू। द्विआधारी केवल एसबीटी (कमांड लाइन पर) द्वारा बनाई जाएंगी।

स्थापन के लिए एक विस्तृत मार्गदर्शिका स्काला IDE के साथ खेलते हैं 2 स्काला आईडीई वेबसाइट पर पाया जा सकता है: http://scala-ide.org/docs/tutorials/play20scalaide20/index.html

+0

जब मैं इसे बंद करता हूं तो मैं कुछ कार्यक्षमता खो रहा हूं जो मेरे लिए महत्वपूर्ण है: जब मैं एक फ़ाइल में कुछ बदलता हूं और यह अन्य फाइलों को तोड़ता है तो मुझे यह सीधे दिखाई नहीं देता है। – peq

+1

ईक्लीप्स बिल्ड पथ को उस स्थान पर इंगित करने का प्रयास करें जहां Play/SBT बिल्ड हो रहा है। – pedrofurla

+0

@pedrofurla: कोशिश की। मदद नहीं की - अभी भी उन स्रोतों को संकलित करना चाहता है जो ग्रहण पहले ही संकलित हो चुके हैं, और ग्रहण स्वयं को संकलित करना चाहता है या यह क्रॉस-फ़ाइल त्रुटियों को प्रदर्शित/हटा नहीं देगा। – jsalvata

1

मैं अभी तक ग्रहण में खेलने रन एसबीटी कार्य चलाने के लिए प्रयास नहीं किया है।

लेकिन आप सीधे ग्रहण से सर्वर चला सकते हैं।

  1. अपने वर्ग पथ में "लक्ष्य/स्कैला-2.9.1/कक्षाएं" जोड़ें, केवल अपनी संपत्तियों को शामिल करने के लिए फ़िल्टर का उपयोग करें। (परियोजना गुण, जावा बिल्ड पथ)
  2. रन-बटन-मेनू से "रन कॉन्फ़िगरेशन ..." चुनें।
  3. अपने पसंदीदा नाम के साथ एक नया "जावा एप्लिकेशन" कॉन्फ़िगरेशन बनाएं।
  4. मुख्य टैब: का प्रयोग करें "DebugStart" अपने मुख्य वर्ग के रूप में
  5. तर्क टैब: किसी भी "-Dconfig.file = ..." "-Dlogger.file" विकल्प आप वीएम तर्क
  6. क्लासपाथ टैब में आवश्यकता हो सकती है विन्यस्त करें : classpath को conf निर्देशिका जोड़ें (उन्नत/फ़ोल्डर जोड़ें)

साथ DebugStart.scala बनाएँ:

import play.core.server.NettyServer 
import java.io.File 
import play.core.SBTLink 
import play.core.TestApplication 
import play.api.test.FakeApplication 
import play.api.test.TestServer 

object DebugStart { 
    def main(args: Array[String]) { 
    val app = FakeApplication() 
    val server = TestServer(9000, app) 
    server.start() 
    } 
} 

अब आप रन या डिबग के साथ एप्लिकेशन को शुरू कर सकते हैं। यदि आप डीबग का उपयोग करते हैं, तो आप बिना किसी पुनरारंभ किए कुछ कोड परिवर्तन कर सकते हैं।

DebugStart.scala का मेरा संस्करण वास्तव में किसी भी चल रहे प्रक्रिया को मारने के लिए कुछ प्लेटफॉर्म पर निर्भर हैशिश कोड शामिल है, ताकि मैं एप्लिकेशन को पुनरारंभ करने के लिए केवल F11 या CTRL + F11 दबा सकूं।

यह सुनिश्चित करें कि अपनी संपत्ति/सूत्रों तारीख रन अप करने के लिए कर रहे हैं:

> sbt 
... 
[your project] $ ~ ;play-copy-assets;sources 
+0

कॉन्फ़िगरेशन समायोजित करने के बाद, ग्रह ग्रहण में चल रहा है और पोर्ट 9000 पर सुन रहा है, लेकिन यह काम नहीं करता है: कंसोल व्यू खाली रहता है (जब तक कोई कॉन्फ़िगरेशन त्रुटि नहीं होती है या मैं थ्रेड डंप का अनुरोध करता हूं) और यदि मैं अपने ब्राउज़र को लोकहोस्ट पर इंगित करता हूं : 9 000, यह सिर्फ एक कनेक्शन के लिए इंतजार कर रहा है। मैं कल्पना नहीं कर सकता क्यों। ¿संकेत? – jsalvata

0

IntelliJ विचार 12 (लेडा) जल्द ही आ रहा है। मैं थोड़ी देर के लिए 11 का उपयोग कर रहा हूं और ऐसी कोई समस्या नहीं है लेकिन नया संस्करण प्ले 2.0 एकीकरण बेहतर बेहतर प्रदान करेगा।