gpt4 book ai didi

java - 使用 Apache Maven 文件管理 API 获取 maven-plugin 中的绝对文件路径

转载 作者:行者123 更新时间:2023-11-30 06:32:11 31 4
gpt4 key购买 nike

我目前正在尝试编写一个 Maven 插件,它应该能够在“生成资源”阶段创建/处理一些资源文件。一切正常,但在此过程中我的插件需要读取一些其他文件作为输入,所以我决定使用 Apache Maven File Management API指定输入文件路径。我按照 In a MOJO 中所述设置了所有内容。例子。

<plugin>
<groupId>my.groupId</groupId>
<artifactId>my-maven-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>mygoal</goal>
</goals>
<phase>generate-resources</phase>
</execution>
</executions>
<configuration>
<fileset>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
</includes>
</fileset>
</configuration>
</plugin>

但我无法检索文件的绝对文件路径:

public void execute() throws MojoExecutionException {
FileSetManager fileSetManager = new FileSetManager();
for (String includedFile : fileSetManager.getIncludedFiles(fileset)) {
getLog().info(includedFile);
}
}

...因为结果只是文件名,例如:

[INFO] --- my-maven-plugin:0.0.1-SNAPSHOT:mygoal (default) ---
[INFO] some-file-A.xml
[INFO] some-file-B.xml

我也无法将 fileset.directory 与文件名连接起来,因为 FileSetManager 不包含检索 fileset.directory 值的方法。

那么如何检索包含的绝对文件路径?

最佳答案

我发现 fileset.getDirectory() 可以解决问题。

public void execute() throws MojoExecutionException {
FileSetManager fileSetManager = new FileSetManager();
for (String includedFile : fileSetManager.getIncludedFiles(fileset)) {
getLog().info(fileset.getDirectory() + File.separator + includedFile);
}
}

关于java - 使用 Apache Maven 文件管理 API 获取 maven-plugin 中的绝对文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45878554/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com