Dom*_*ber 6 java maven-plugin maven
我正在编写一个maven插件,基本上应该执行以下操作:
MANIFEST
的新文件的添加或作为新文件META-INF
)因为我刚刚创建maven插件的第一步是我的(可能是愚蠢的)问题:
如何从构建项目时执行的插件访问项目的源代码(最佳方式:作为我可以轻松处理的构建路径上的包)?
到目前为止,我唯一的方法是获得项目的来源
// assuming the project exists (to exclude instance checks etc.)
MavenProject project = (MavenProject) getPluginContext().get("project");
String projectSource = project.getSourceDirectory();
Run Code Online (Sandbox Code Playgroud)
然后使用文件操作处理此目录的内容.但这对我来说似乎很难看,我确信存在更好的解决方案(我只是无法通过google,maven页面和stackoverflow找到它).
您知道Mojo API,其中包含有关当前项目的信息.这可以简单地通过使用适当的标记自动包含plexus,如下所示:
public class WhatEverMojo extends AbstractMojo {
/**
* The Maven project.
*
* @parameter expression="${project}"
* @required
* @readonly
*/
private MavenProject project;
}
Run Code Online (Sandbox Code Playgroud)
可能是我误解了你的问题,但我建议阅读插件开发简介.
更新:看看apt-maven-plugin等其他插件可能会有所帮助:
像下面这样的东西可以帮助:
/**
* The source directories containing the sources to be processed.
*
* @parameter expression="${project.compileSourceRoots}"
* @required
* @readonly
*/
private List<String> compileSourceRoots;
Run Code Online (Sandbox Code Playgroud)
在完整的源代码SVN通过可以在那里你可以去深入探讨.
归档时间: |
|
查看次数: |
2944 次 |
最近记录: |