19

アプリケーションにいくつかのプロパティ ファイルを追加する必要があります。このファイルをcontrollerディレクトリに追加しましたが、読み込めません (クラスパスにありませんか?) - InputStreamnull です。このファイルをどこに置くとアクセスできますか?

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 
    // ...
}
4

1 に答える 1

28

confPlay アプリのフォルダに配置する必要があります。

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"
      ...
  )
于 2012-12-21T11:54:37.523 に答える