我正在开发一个Maven插件。有没有办法获取target\generated-sources
目录的位置?可以获取target
目录的位置如下:
@Mojo(...)
public class MyMojo extends AbstractMojo {
@Parameter(defaultValue = "${project.build.directory}", readonly = true)
private File target;
....
这给出了:
<base dir>\target
我需要:
<base dir>\target\generated-sources
当然,我可以将generated-sources
附加到路径上,但依靠项目设置可能更好。
所以这不是所希望的:
@Mojo(...)
public class MyMojo extends AbstractMojo {
@Parameter(defaultValue = "${project.build.directory}\generated-sources", readonly = true)
private File target;
....
答案 0 :(得分:4)
您可以在mojo中使用以下内容:
@Parameter(defaultValue="${project.build.directory}/generated-sources/WhatEver", required=true)
private File targetFolder;
如果设置了required,则可以通过pom文件配置进行更改。如果您设置为readonly
,则无法在pom文件中更改它。
对于generated-sources
部分,没有特殊的占位符等。换句话说,没有别的办法可以去。
答案 1 :(得分:3)
如果您需要将文件夹添加到编译过程中,您必须采用以下方式:
@Parameter (defaultValue="${project}", required=true, readonly=true)
private MavenProject project;
...
project.addCompileSourceRoot(TheFolderYouWouldLikeToAdd);
答案 2 :(得分:0)