<分区>
如何从我的 Java 代码中获取 Maven 项目的 basedir()?
<分区>
如何从我的 Java 代码中获取 Maven 项目的 basedir()?
最佳答案
根据 maven doc ,有一个 Maven 属性 ${project.basedir}
如果您在资源中包含一个属性文件,该文件具有 ${project.basedir}
占位符和 enable filtering for the resources plugin ,您会发现在构建时将 basedir 替换到属性文件中。然后,您可以在代码中使用 Properties
实例加载它。
在/src/main/resources 中,创建一个名为 project.properties 的文件,包含
my.basedir=${project.basedir}
然后,在 POM 中,启用对/src/main/resources 的过滤,如上面链接的 maven 资源过滤文档中所述。
然后,在代码中,在运行时,将属性文件加载到 Properties
实例中
Properties props = new Properties();
props.load(this.getClass().getResourceAsStream("project.properties"));
String myBasedir = props.get("my.basedir");
另一种方法是处理一些源文件并通过挂接到 process-sources
阶段在其中进行替换,但这不太容易解释。
关于java - 如何从 java 代码获取 Maven 项目 BaseDir(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808664/