如何在java中获取pom.xml的目录?

时间:2014-05-22 16:05:24

标签: maven pom.xml

我在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。这有什么不对?

1 个答案:

答案 0 :(得分:2)

您真的想在项目目录中运行Java应用吗?

你可以在开发过程中使用它,但这对于生产使用来说不是一个好主意。

我认为您最好使用 Maven Resources插件将项目中需要的任何内容复制到输出目录,以便将它们打包到您的Jar中/ War / Ear,以便您的运行时工件不需要了解项目。

http://maven.apache.org/plugins/maven-resources-plugin/

相关问题