2012-12-21 15 views
14

मुझे अपने आवेदन में कुछ गुण फ़ाइल जोड़ने की आवश्यकता है। मैंने इस फ़ाइल को controller निर्देशिका में जोड़ा है, लेकिन उन्हें लोड नहीं कर सकता (क्लासपाथ में नहीं?) - InputStream शून्य है। इस फ़ाइल को कहां रखा जा सकता है?संसाधन कहां रखा जाए?

public class Application extends Controller { 

    static { 
     try { 
      Properties p = new Properties(); 
      InputStream in = Application.class.getClassLoader().getResourceAsStream("accounts.properties"); 
      if(in != null) { 
       p.load(in); 
       in.close(); 
      } else { 
       error("null inputstream"); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     }  
    } 

    // Actions below 
    // ... 
} 

उत्तर

23

आपको इसे अपने Play ऐप के conf फ़ोल्डर में रखना होगा।

आप conf निर्देशिका में सबफ़ोल्डर का भी उपयोग कर सकते हैं।

उदाहरण के लिए:

conf/foo/bar.txt 

का उपयोग कर पहुँचा जा सकता है:

InputStream in = MyClass.class. getResourceAsStream("/foo/bar.txt") 

तुम भी अपने अनुप्रयोग में एक कस्टम संसाधन निर्देशिका में जोड़ सकते हैं, अपने project/Build.scala फ़ाइल को अद्यतन करने और जोड़कर:

val main = play.Project(appName, appVersion, appDependencies).settings(
     ... 
     resourceDirectory in Compile <<= baseDirectory/"myresources" 
     ... 
) 
+5

'sbt' के नए संस्करणों के साथ, आप लिखेंगे: 'Compile + में resourceDirectories + = baseDirectory.value /" myresources "' –

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