我正在构建一个Java Web应用程序,它允许用户将一些文件上传到服务器。由于.war文件可能部署在具有不同文件系统层次结构的服务器中,因此我想提供.properties文件,并让服务器管理员定义在初始系统配置期间保存这些文件的位置。然后,我的应用程序将读取此.properties文件以确定上载文件的存储位置。
在搜索某种方法时,我在Stack Overflow上遇到了类似的问题,并尝试按照以下答案中的说明进行操作。
https://stackoverflow.com/a/8941774
我想试试这个解决方案是否有效。
所以我编辑了我的/usr/share/tomcat8/conf/context.xml文件,并在<Context> </Context>
标签之间包含以下内容
<Environment name="config" value="/home/nilushan/temp/"
type="java.lang.String" override="false"/>
我在/ home / nilushan / temp中创建了一个名为yourfile.properties的文件,并复制了给定的Java代码并执行了它。
但是我一直收到“jndi lookup异常”消息。更改代码以打印异常后,这就是我得到的内容 “jndi查找中的异常:javax.naming.NameNotFoundException:名称[config]未绑定在此Context中。无法找到[config]。”
从错误消息中我了解到这与无法读取context.xml文件中的内容有关,而与yourfile.properties文件无关。
有人可以告诉我,我错误地得到了这个错误以及如何解决这个错误吗?
答案 0 :(得分:0)
问题的一个很好的解决方案是使用配置服务器。设置时,您可以指示属性文件从中进行配置。这很容易设置,这里是文档的链接(它很短,所以你应该很快理解它)link。您也可以将它用于其他war / jar文件。