Java Maven插件项目无法使用表达式注入MavenSession或MavenProject

Java Maven插件项目无法使用表达式注入MavenSession或MavenProject,java,maven,maven-plugin,Java,Maven,Maven Plugin,我正在尝试构建自己的maven插件项目。 我按照屏幕上的说明操作 我想在我的Mojo中使用mavenession和MavenProject。 以下是代码片段: @Mojo(name=“execute assembly”,defaultPhase=LifecyclePhase.PACKAGE,requiresDependencyCollection= ResolutionScope.RUNTIME) 公共类ExecuteAssemblyMojo扩展了AbstractMojo{ @参数(defaul

我正在尝试构建自己的maven插件项目。 我按照屏幕上的说明操作

我想在我的
Mojo
中使用
mavenession
MavenProject
。 以下是代码片段:

@Mojo(name=“execute assembly”,defaultPhase=LifecyclePhase.PACKAGE,requiresDependencyCollection=
ResolutionScope.RUNTIME)
公共类ExecuteAssemblyMojo扩展了AbstractMojo{
@参数(defaultValue=“${session}”,readonly=true,required=true)
私人专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用专用;
@参数(defaultValue=“${session}”,readonly=true,required=true)
非公开会议;
@参数(defaultValue=“${project}”,readonly=true,required=true)
私人马文项目马文项目;
@参数(defaultValue=“${project}”,readonly=true,required=true)
私人马文项目;
@参数(defaultValue=“${repositorySystemSession}”,readonly=true,required=true)
私有存储系统会话存储系统会话;

我找到了,但是没有一个可以被注入。当我调试到
execute
方法时,它们都是
null

第一个问题。你为什么要编写插件?出于什么目的?第二,你有MavenSession和MavenProject,只需要一个副本。此外,你如何调试?这些参数都在Maven在插件执行过程中被注入?@khmarbaise谢谢你。MavenProject和MavenSession是为测试而复制的,它不会影响注入。关于调试,你可以参考。为测试而复制是没有意义的。我从不使用线束进行测试(你能指出在哪里记录了它为测试而复制吗?)除此之外,你还没有回答我的问题?@khmarbaise不管它是否重复,实际上我都尝试过,它们都不能被注入,所以这是重点。在搜索并阅读源代码后,注入问题可能是由版本引起的。插件的maven依赖性是
3.0
,但是当我改变对于这个版本,出现了新的错误。我真的很想猜测如何将正确的
参数
写入injection。我只是将我的插件从maven迁移到gradle。@khmarbaise我保留了插件项目,以防您或其他人可以帮助我进行注入。在我看来,这个问题是由于maven依赖版本造成的。