2012-12-19 6 views
5

मुझे सरल स्कैला वर्ग बनाने के लिए एसबीटी का उपयोग करते समय कुछ अजीब समस्याएं मिलीं। कोड बस जो मैं इंटरनेट से नकल एक घाट सर्वर शुरू करने के लिए पर्याप्त है:एसबीटी के साथ स्केल बिल्ड जावा कक्षाओं को आयात नहीं कर सकता है?

[error] /src/main/scala/JettyEmbedded.scala:4: object eclipse is not a member of package org 
[error] val server = new org.eclipse.jetty.server.Server(9080) 

मैं देख सकता हूँ:

object JettyEmbedded { 

    def main(args: Array[String]) { 
    val server = new org.eclipse.jetty.server.Server(9080) 
    val context= new org.eclipse.jetty.webapp.WebAppContext() 

    context.setServer(server) 
    context.setContextPath("/"); 
    context.setWar("src/main/webapp") 
    server.setHandler(context); 

    try { 
     server.start() 
     server.join() 
    } catch { 
     case e: Exception => { 
     e.printStackTrace() 
     System.exit(1) 
     } 
    } 
    } 
} 

एसबीटी और स्केला 2.9.2 के साथ संकलित करने के लिए, मैं निम्नलिखित त्रुटि मिली

"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container", 
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container;provided;test" artifacts (Artifact("javax.servlet", "jar", "jar")) 

मैं सिर्फ इस हमलावर फ़ाइल को हटाने और कंटेनर के साथ घाट सर्वर चलाते हैं: एसबीटी से शुरू करते हैं, यह कोई समस्या नहीं चलाता build.sbt में, मैं की तरह निर्भरता है!

+0

यह अजनबी, यह संकलन और ग्रहण/स्काला आईडीई – Wudong

+0

में अच्छी तरह से चलाता है क्या आप वाकई अपने एसबीटी classpath पर घाट है कर रहे हैं बनाने के लिए? –

+0

क्या आपके पास जेटीटी आपकी बिल्ड फाइल में निर्भरता के रूप में है? –

उत्तर

3

बदलें इस लाइन:

"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container", 

रहे हैं:

"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container;provided", 

समस्या हल हो।

एसबीटी संकलन कक्षा में "कंटेनर" वर्ग नहीं डालता है, जबकि ग्रहण में यह परवाह नहीं करता है।

+1

मैं एसबीटी से बाहर निकलें और इसे फिर से चलाने के लिए था। धन्यवाद! अभी व्यस्त हूँ – kirhgoff

0

ऐसा लगता है कि आपके build.sbt फ़ाइल में उचित जेटी निर्भरता नहीं है।

libraryDependencies ++= Seq(
    "org.eclipse.jetty" % "jetty-server" % "8.1.7.v20120910", 
    "org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" 
) 
+0

कृपया मेरी संपादित पोस्ट देखें - मैं एक ही मुद्दा (एम्बेडेड घाट चलाने में एक ही काम के लिए प्राप्त करने की कोशिश) मिला लिया है। – Wudong

+0

आपकी निर्भरता अभी भी गलत हैं। मेरा उत्तर में लोगों के साथ अपने निर्माण में लोगों की जगह की कोशिश करो। –

+1

उनके साथ वास्तव में क्या गलत है? क्या आप अंतर समझा सकते हैं? मैं एक ही समस्या – kirhgoff

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