Sto provando a creare il mio primo plug-in Maven e per questo ho bisogno di accedere a MavenSession nel mio Mojos. Ho trovato in molti posti che il seguente snippet dovrebbe essere sufficiente, ma finisco sempre con l'oggetto mavenSession come null, anche se nel registro Maven (del POM.xml usando il mio plugin) sembra che la sessione di Maven sia passata, o almeno popolato, ma non viene iniettato nell'oggetto MavenSession.MavenSession non popolato
Qualcuno può dirmi per favore cosa mi manca?
Grazie!
/**
* The Maven Session
*
* @required
* @readonly
* @parameter
* expression="${session}"
*/
private MavenSession mavenSession;
Ho anche aggiunto quanto segue alla pom.xml del plugin (sulla base di un commento che ho trovato da qualche parte):
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.2.5</version>
</dependency>
E questo dal registro:
[DEBUG] Configuring mojo 'com.ofernicus.helpers:resource-helper:1.0-SNAPSHOT:iterate' with basic configurator -->
[DEBUG] (f) session = [email protected]
[DEBUG] (f) mavenProject = MavenProject: com.ofernicus.consumers:resource-helper-consumer:1.0-SNAPSHOT @ C:\Users\oferlan\workspaces\Maven\PluginConsumer\resource-helper-consumer\pom.xml
Stai parlando del tempo di test (unit-) o del tempo di esecuzione? –
@RobertScholte - Immagino che lo chiamereste runtime - Sto provando a chiamare questo plugin da un progetto Maven diverso/separato. –
Dov'è 'null'? All'inizio del tuo metodo 'execute'? – mystarrocks