如何使用 ${} 访问 POM 文件内的 POM 文件目录

How to access POM file directory inside POM file using ${}

我在 C:\workspaces\parent-project\pom.xml 中有一个 JDK11 Maven 父项目和一个 POM 文件 这是我 运行 带有“mvn clean install”的 POM 文件。 我还有其他儿童项目。 在这个父 POM 中,我需要访问它所在的目录。

我在父 POM 中有这个插件:

<plugin>
    <groupId>net.revelc.code.formatter</groupId>
    <artifactId>formatter-maven-plugin</artifactId>
    <version>2.16.0</version>
    <configuration>
        <configFile>${project.basedir}/java-formatter-configuration.xml</configFile>
     <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
     <compilerSource>11</compilerSource>
     <compilerCompliance>11</compilerCompliance>
     <compilerTargetPlatform>11</compilerTargetPlatform>
     <lineEnding>CRLF</lineEnding>
     <encoding>UTF-8</encoding>
    </configuration>        
    <executions>
        <execution>
            <goals>
                <goal>format</goal>
            </goals>
        </execution>
    </executions>
</plugin>

不幸的是 ${project.basedir} returns 子项目的目录,因为它们是一对一构建的。 Tomcat 有变量 ${CATALINA_BASE} 指向 Tomcat 的安装目录。我是否可以在父 POM 中执行相同的操作,以便我可以表示父 POM 所在的目录?意思是,你知道我可以使用哪个 Maven 变量来访问目录吗? C:\workspaces\parent-project? 我必须在每个项目中复制这个格式化程序 XML。我只想在父文件夹中有一个格式化程序 XML。 谢谢

我建议阅读 formatter-maven-plugin 的文档,因为它支持不需要立即访问文件系统的配置设置。