我正在尝试使用Maven在我的NetBeans项目中引用属性文件。
在开发过程中,我使用了以下代码:
MyClass.loadProperties("src/main/resources/neo4j.properties");
这很好。
现在我刚刚将我的项目构建到JAR,当我执行它时,它抱怨它找不到这个文件。
我不希望该文件位于JAR文件中 - 我真的只想指定一个位置来加载属性文件 - 可能与主JAR的目录相同。
我应该使用哪条路径?事实上,我不清楚它是如何工作的 - 我遇到了与之前项目类似的问题。
我认为src / main / resources特定于Maven不是吗?当JAR正在运行时,是否所有目录都相对于JAR所在的目录?
帮助!
答案 0 :(得分:2)
我不知道这个 MyClass.loadProperties 方法是什么?
是的, src / main / resources 是放置资源的maven惯例,请参阅Introduction to the Standard Directory Layout。
因此应用程序jar中此目录中的文件。你让他们抛出资源协议,而不是文件协议。
如果您想在其他地方使用某些配置文件,而不是在jar中,则需要自己构建策略。例如,在主目录,用户选择文件夹,网络上,类路径上的目录中,在首选项中......
编辑:要在本地目录中获取配置文件,请抛出资源,您需要将此目录放在类路径中。