maven 插件 - 获取生成的源目录
maven plugin - get generated-sources directory
我正在开发 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;
....
您可以在您的 mojo 中使用以下内容:
@Parameter(defaultValue="${project.build.directory}/generated-sources/WhatEver", required=true)
private File targetFolder;
如果您设置为必需,您可以通过 pom 文件配置来更改它。如果设置为 readonly
,则无法在 pom 文件中更改它。
对于 generated-sources
部分,不存在特殊的占位符等。所以换句话说,没有其他方法可以去。
如果您需要将文件夹添加到编译过程中,您必须这样做:
@Parameter (defaultValue="${project}", required=true, readonly=true)
private MavenProject project;
...
project.addCompileSourceRoot(TheFolderYouWouldLikeToAdd);
- "target/generated-sources" 不是生成源的标准文件夹。
- 任何生成源代码的插件,"asks"在哪里生成源代码。例如。对于 jaxws:wsimport,它是参数 "sourceDestDir"。
我正在开发 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;
....
您可以在您的 mojo 中使用以下内容:
@Parameter(defaultValue="${project.build.directory}/generated-sources/WhatEver", required=true)
private File targetFolder;
如果您设置为必需,您可以通过 pom 文件配置来更改它。如果设置为 readonly
,则无法在 pom 文件中更改它。
对于 generated-sources
部分,不存在特殊的占位符等。所以换句话说,没有其他方法可以去。
如果您需要将文件夹添加到编译过程中,您必须这样做:
@Parameter (defaultValue="${project}", required=true, readonly=true)
private MavenProject project;
...
project.addCompileSourceRoot(TheFolderYouWouldLikeToAdd);
- "target/generated-sources" 不是生成源的标准文件夹。
- 任何生成源代码的插件,"asks"在哪里生成源代码。例如。对于 jaxws:wsimport,它是参数 "sourceDestDir"。