我在java上有maven项目。我需要获取我的pom.xml所在的目录。是否可以在运行时在java中执行此操作?
或者也许有可能在运行时获取项目的绝对路径?
其实我的app.property文件位于src / main / resources文件夹中,并且有这样的属性:project.dir = ${pom.basedir}
。我有log4j.properties文件,它位于同一个文件夹中。然后在代码中有这样的行来配置log4j:
protected static final String log = "./src/main/resources/log4j.properties";
PropertyConfigurator.configure(PropertyLoader.loadProperty("project.dir") + log);
但是这不起作用,错误是java.lang.NullPointerException
,所以我无法理解该值有project.dir。这有什么不对?
答案 0 :(得分:2)
您真的想在项目目录中运行Java应用吗?
你可以在开发过程中使用它,但这对于生产使用来说不是一个好主意。
我认为您最好使用 Maven Resources插件将项目中需要的任何内容复制到输出目录,以便将它们打包到您的Jar中/ War / Ear,以便您的运行时工件不需要了解项目。