Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 如何在java中获取pom.xml的目录?_Maven_Pom.xml - Fatal编程技术网

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

Maven 如何在java中获取pom.xml的目录?,maven,pom.xml,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 = "./sr

我有一个关于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。这里出了什么问题?

是否确实要在项目目录中运行Java应用程序

您可以在开发过程中勉强应付,但这对于生产使用来说是个坏主意

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


有些事情告诉我,你正试图做一些非常错误的事情。。。你到底想做什么?你能告诉我们你想解决的问题吗?我有一个最新的问题