我需要在我的应用程序中添加一些属性文件。我已将此文件添加到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
// ...
}
答案 0 :(得分:25)
您必须将其放入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"
...
)