Servlets 从父目录中的.properties文件读取值对
我有一个servlet在下面Servlets 从父目录中的.properties文件读取值对,servlets,bundle,properties-file,Servlets,Bundle,Properties File,我有一个servlet在下面 C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\webapps\myApp 我在文件夹属性下有3.properties文件: C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\properties C:\Program Files (x86)\Apache Software Foundation\tomcat
C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\webapps\myApp
我在文件夹属性下有3.properties文件:
C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\properties
C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\properties
一旦我在linux上部署它,它也将位于webapss/properties
目录下
现在,在我的windows计算机上,我发现以下代码无法工作:
File file = new File("C:\\Program Files (x86)\\Apache Software Foundation\\tomcat_8.0.9\\webapps\\properties");
URL[] urls = {file.toURI().toURL()};
ClassLoader loader = new URLClassLoader(urls);
ldap = ResourceBundle.getBundle("js.ldap.properties", Locale.getDefault(), loader);
smtp = ResourceBundle.getBundle("js.smtp", Locale.getDefault(), loader);
db = ResourceBundle.getBundle("js.db", Locale.getDefault(), loader);
String adminName = ldap.getString("ldap.provider.admin.user");
System.out.println("adminName name: "+ adminName);
它抛出了无法找到基名称js.ldap、locale en_US的捆绑包
有人知道我做错了什么吗?你写道
我在文件夹属性下有3.properties文件:
C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\properties
C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\properties
但您的代码正在查找
C:\Program Files (x86)\Apache Software Foundation\tomcat_8.0.9\webapps\properties
我让它工作了:)
感谢大家的帮助我在文件夹properties::what's name下有3.properties文件。粘贴
目录C:\Program Files(x86)\Apache Software Foundation\tomcat_8.0.9\properties的输出。为什么不将属性绑定到与应用程序相同的类路径中?为什么要将类和属性文件放在这个目录下,这个目录应该包含要部署的war文件?好的。别忘了我在你问的另一个问题中的建议,关于不要硬编码tomcat主目录。