我正在编写一个基本上应该执行以下操作的 maven 插件:
- 处理构建的项目的所有类
- 创建一个描述部分源代码的文件
- 将该文件添加到构建的 jar 中(作为目录
MANIFEST
中的附加文件或作为新文件META-INF
)
因为我只是在创建 maven 插件方面迈出第一步,所以这是我的(可能是愚蠢的)问题:
如何从构建项目时执行的插件访问项目的源代码(最好的方法:作为构建路径上的包,我可以轻松处理)?
到目前为止,我唯一的方法是获取项目的源代码,例如
// assuming the project exists (to exclude instance checks etc.)
MavenProject project = (MavenProject) getPluginContext().get("project");
String projectSource = project.getSourceDirectory();
然后用文件操作处理这个目录的内容。但这对我来说似乎很丑陋,以至于我很确定存在更好的解决方案(我只是无法通过 google、maven 页面和 stackoverflow 找到它)。