gpt4 book ai didi

java - MavenSession 未填充

转载 作者:搜寻专家 更新时间:2023-10-31 20:11:07 25 4
gpt4 key购买 nike

我正在尝试创建我的第一个 Maven 插件,为此我需要在我的 Mojos 中访问 MavenSession。我在很多地方发现下面的代码片段应该足够了,但我总是以 mavenSession 对象为 null 结束,尽管在 Maven 日志中(使用我的插件的 POM.xml)似乎 maven session 已通过,或者至少已填充 - 但未注入(inject)到 MavenSession 对象中。

谁能告诉我我错过了什么?

谢谢!


/**
* The Maven Session
*
* @required
* @readonly
* @parameter
* expression="${session}"
*/
private MavenSession mavenSession;

我还在插件的 POM.xml 中添加了以下内容(基于我在某处找到的评论):

<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.2.5</version>
</dependency>

这来自日志:

[DEBUG] Configuring mojo 'com.ofernicus.helpers:resource-helper:1.0-SNAPSHOT:iterate' with basic configurator -->
[DEBUG] (f) session = org.apache.maven.execution.MavenSession@1a785a79
[DEBUG] (f) mavenProject = MavenProject: com.ofernicus.consumers:resource-helper-consumer:1.0-SNAPSHOT @ C:\Users\oferlan\workspaces\Maven\PluginConsumer\resource-helper-consumer\pom.xml

最佳答案

感谢这里的回复,我最终找到了问题:

我试图通过从 execute() 方法调用的方法访问 mavenSession 和 mavenProject。我假设一旦注入(inject),这些成员就可以在我的 Mojo 范围内的任何地方访问和填充 - 这是错误的。我将我的代码移到了 execute() 方法本身,问题就解决了。

谢谢大家!

关于java - MavenSession 未填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27647368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com